fancyecommerce/fecshop_queue

fecshop queue extension

1.0.4 2018-01-25 03:06 UTC

README

687474703a2f2f696d672e61707066726f6e742e66616e637965636f6d6d657263652e636f6d2f637573746f6d2f6c6f676f2e706e67


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重试规则