首页 > 解决方案 > 如何停止队列的无限循环:laravel中的工作命令?

问题描述

我想使用队列作业发送批量电子邮件。当我在命令提示符下运行命令时一切正常, php artisan queue:work --timeout=3 但现在想运行这个命令表单代码(控制器或路由)我在 web.php 中为它创建路由,如下所示

Route::get('/send-queue-job', function(){
    $exitCode = Artisan::call('queue:work', ['--once','--tries'=>3, '--timeout'=>3]);    
    dd('Queue job procced successfully');
});

现在我想停止这个无限循环。

谢谢你,

标签: command-linelaravel-8

解决方案


Artisan::call('queue:work', ['--stop-when-empty'=>true]);

当所有作业队列完成后,它将停止循环。


推荐阅读