我找到了创建作业后如何获取作业ID的方法,但是如何从队列中删除该作业?
$chat = \App\Models\Chat\Chat::first();
$chatUser = App\Models\Chat\ChatUser::first();
$virtualId = 'asd';
$job = (new \App\Jobs\Chat\CloseClientChat(
$chat,
$chatUser,
$virtualId
))
->onConnection('redis')
->onQueue('chat')
->delay(now()->addSeconds(15));
$jobId = app(\Illuminate\Contracts\Bus\Dispatcher::class)->dispatch($job);
/** how to remove from \Queue ? **/
答案 0 :(得分:0)
您可以delete
或release
基础队列作业。如果尝试在侦听器之外的类中执行此操作,请导入Illuminate\Queue\InteractsWithQueue
特征以访问这些方法。默认情况下,它已加载到侦听器上,因此这些方法已在此处使用。
Laravel的文档提供了如何进行此操作的示例here。查找“手动访问队列”