Skip to content

fecshop/yii2_fecshop_queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Latest Stable Version Total Downloads Latest Unstable Version

Fecshop 队列扩展

Fecshop queue 功能部分,用于扩展一些队列的功能,将一些比较耗时的操作 拆出来放到队列中,异步解耦, 目前做的功能为:邮件发送。

安装

composer require --prefer-dist fancyecommerce/fecshop_queue 

or 在根目录的composer.json中添加

"fancyecommerce/fecshop_queue": "~1.0.4"

然后执行

composer update

配置文件

将@vendor\fancyecommerce\fecshop_queue\config\fecshop_queue.php 复制到 @common\config\fecshop_third_extensions\fecshop_queue.php(需要创建该文件)

该文件是扩展的配置文件,通过上面的操作,加入到fecshop的插件配置中。

使用

1.配置完成后,就可以使用MQ了,监听命令

1.1守护进程监听(响应快,但会长时间占用php进程)

yii queue/listen [timeout]  // [timeout]:number of seconds to wait a job. 

1.2cron方式监听,可以设置每分钟执行一次(响应有一定的延迟,但不会长时间占用php进程)

yii queue/run

关于redis消费消息的更多信息参看:yii2 redis queue

2.队列软件

默配置的是redis队列,你可以使用下面的几种队列软件来实现队列消息 yii2 queue driver

3.使用Supervisor,启动管理多个监听进程

详细参看:Supervisor

4.关于重试规则

当一段时间没有执行完成,或者执行失败,队列会安排重试, 在queue组件中配置,

    'queue' => [
        'ttr' => 5 * 60, // Max time for anything job handling 
        'attempts' => 3, // Max number of attempts
    ],

更多详细参看:queue重试规则