command-line - 如何停止队列的无限循环: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');
});
现在我想停止这个无限循环。
谢谢你,
解决方案
Artisan::call('queue:work', ['--stop-when-empty'=>true]);
当所有作业队列完成后,它将停止循环。
推荐阅读
- amazon-web-services - 将 Amazon Redshift 连接到 PowerBI - 错误消息
- azure-cosmosdb - Cosmos DB 数组查询在 .NET SDK 中不起作用
- java - StuckThread 错误后 Weblogic 未处理更多信息
- angular - 角度延迟加载:loadChildren 不同的行为
- python - 如何仅使用函数编写计算器?
- git - git log 错误“致命:不明确的参数'filename.sh':未知修订或路径不在工作树中”
- excel - 您可以使用 VBA 在 Excel 中的整个工作表上删除公式中的工作簿引用吗?
- node.js - 使用 mongodb an node js 中的 where cluse 搜索对象
- java - 根据歌曲 ID 编辑歌曲艺术家姓名和歌曲名称
- terraform - 通过云教程工作的变量问题