tp6 think-queue

浏览:3442 发布日期:2020/09/10 分类:ThinkPHP6专区 关键字: tp6 think-queue
消息队列,redis驱动,设置了延迟执行可还是立即执行了
求教 谢谢
public function index()
{
// 任务类 - 执行时调用该类的deal方法
$job_class = "app\\test\job\[email protected]";
// 队列名称
$job_queue_name = 'Check';
// 数据
$job_data = array('name' => time());
// 把任务加入到消息队列,等待被执行

// 延迟发送任务 5秒
$is_push = Queue::later(30, $job_class, $job_data, $job_queue_name);

// 立即发送任务
// $is_push = Queue::push($job_class, $job_data, $job_queue_name);

if($is_push !== false ){
echo date('Y-m-d H:i:s') . " a new Hello Job is Pushed to the MQ"."<br>";
}else{
echo 'Oops, something went wrong.';
}
}
配置文件
return [
'default' => 'redis',
'connections' => [
'sync' => [
'type' => 'sync',
],
'database' => [
'type' => 'database',
'queue' => 'default',
'table' => 'jobs',
'connection' => null,
],
'redis'=>[
'connector' => 'redis', // Redis 驱动
'expire' => 60, // 任务的过期时间,默认为60秒; 若要禁用,则设置为 null
'default' => 'default', // 默认的队列名称
'host' => '127.0.0.1', // redis 主机ip
'port' => 6379, // redis 端口
'password' => '', // redis 密码
'select' => 0, // 使用哪一个 db,默认为 db0
'timeout' => 0, // redis连接的超时时间
'persistent' => false, // 是否是长连接
]
],
'failed' => [
'type' => 'none',
'table' => 'failed_jobs',
],
];
最佳答案
评论( 相关
后面还有条评论,点击查看>>