Skip to content

Queue::later不好用 没有延迟执行而是立即执行了 #195

Description

@zhaoxin987

控制器
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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions