[英]Laravel Worker doesn't seem to stop
我在我的數據庫中有一個作業列表,當我運行php artisan queue:work database
,它處理每個作業但是一旦處理完最后一個作業,它似乎就不會停止。 我認為這樣做意味着一旦工人沒有工作,就會停止。
如果希望工作程序在運行一個作業后退出,請添加--once
選項:
$ php artisan queue:work --once
從5.7開始,您可以使用--stop-when-empty
來處理隊列中的所有作業,然后退出:
$ php artisan queue:work --stop-when-empty
文檔: https : //laravel.com/docs/5.7/queues#running-the-queue-worker
注意:Laravel 5.3周圍的默認行為已更改。 以前工人會處理一份工作並退出; 如果使用了--daemon
選項,它只會繼續運行。 5.3之后,這成為默認行為,並且不推薦使用--daemon
。
請注意,一旦queue:work命令啟動,它將繼續運行,直到手動停止或關閉終端。 使用--once選項無法解決您的問題。 查看laravel文檔了解更多信息。
文檔說:--once選項可用於指示worker只處理隊列中的單個作業。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.