-
Notifications
You must be signed in to change notification settings - Fork 135
Open
Description
控制器
public function queuelater($orderid)
{
echo date("Y-m-d H:i:s");
$queue=Queue::later(60, 'app\common\job\TimeoutOrder', ['orderid' => $orderid],$queue = 'OrderSure');
if($queue){
echo '异步执行成功';
}else{
echo '异步执行失败';
}
}
任务方法
class TimeoutOrder
{
// 任务执行的逻辑
public function fire(Job $job, $data)
{
$orderid = $data['orderid'];
$order = Db::table('re_reserve_order')->where('id', $orderid)->find();
if ($order) {
Db::table('re_reserve_order')
->where('id',$orderid)
->update(['is_status' => 5,'agree'=>0]); // 更改订单状态为已确认
}
// 删除任务标记,表示任务已完成
$job->delete();
}
}
配置文件
return [
'default' => 'redis',
'connections' => [
'sync' => [
'driver' => 'sync',
],
'database' => [
'driver' => 'database',
'queue' => 'default',
'table' => 'jobs',
],
'redis' => [
'driver' => 'redis',
'queue' => 'default',
'host' => '127.0.0.1',
'port' => 6379,
'password' => '',
'select' => 1,
'timeout' => 0,
'persistent' => false,
'type'=>'redis',
],
],
'failed' => [
'type' => 'none',
'table' => 'failed_jobs',
],
];
每次执行 都是立即执行了,没有异步等待60秒执行 这是什么原因
Metadata
Metadata
Assignees
Labels
No labels