yii2-queue消息队列的使用
程序员文章站
2024-03-18 08:15:04
...
1.安装扩展
composer require “yiisoft/yii2-queue”
composer require “yiisoft/yii2-redis”
下载后vendor/yiisoft目录有yii2-queue和yii2-redis文件
2.配置 (redis作为驱动)
return [
'bootstrap' => ['queue'],
'components' => [
'queue' => [
'class'=>\yii\queue\redis\Queue::class,
'redis' => 'redis',
'channel' => 'queue',
'as log'=> \yii\queue\LogBehavior::class,
],
'redis' => [
'class' => 'yii\redis\Connection',
'hostname' => '127.0.0.1',
'port' => 6379,
'database' => 0,
],
]
]
3.开启监听
yii queue/listen
4.加入队列
Yii::$app->queue->delay(5)->push(new TestTask([
'taskname' => 'yii2-queue-test'
]));
5.控制台业务处理
<?php
namespace backend\components;
use yii\base\BaseObject;
class TestTask extends BaseObject implements \yii\queue\JobInterface
{
public $taskname;
public function execute($queue)
{
file_put_contents('test.txt',date('Y-m-d',time()).$this->taskname.PHP_EOL,FILE_APPEND);
}
}
运行4中的代码,taskname加入队列,控制台监听到任务进行日志记录
上一篇: 连续子数组的最大和----动态规划专题
下一篇: Java 中的队列 Queue