yii2-queue
a yii2 extension to make simple to use queue.
yii2-queue让队列的使用在yii2中变得更轻松,她为各种队列组件的使用提供了一个标准的接口,您只需要配置好需要使用的队列组件,就能轻松使用,
同时您在不同队列组件之间的切换也只需要修改下配置文件,重启下队列监听进程即可,目前支持数据库队列,redis队列,beanstalkd队列,
其它队列中间件支持正在添加中(当然,聪明的你也可以自行扩展)。
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist shmilyzxt/yii2-queue "dev-master"
or add
"shmilyzxt/yii2-queue": "dev-master"
to the require section of your composer.json file.
Usage
1:在配置文件中配置好需要使用的队列,完整的配置代码如下:
数据库队列
'queue' => [
'class' => 'shmilyzxt\queue\queues\DatabaseQueue', //队列使用的类
'jobEvent' => [ //队列任务事件配置,目前任务支持2个事件
'on beforeExecute' => ['shmilyzxt\queue\base\JobEventHandler','beforeExecute'],
'on beforeDelete' => ['shmilyzxt\queue\base\JobEventHandler','beforeDelete'],
],
'connector' => [//队列中间件链接器配置(这是因为使用数据库,所以使用yii\db\Connection作为数据库链接实例)
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii2advanced',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
],
'table' => 'jobs', //存储队列数据表名
'queue' => 'default', //队列的名称
'expire' => 60, //任务过期时间
'maxJob' =>0, //队列允许最大任务数,0为不限制
'failed' => [//任务失败日志记录(目前只支持记录到数据库)