Laravel Worker, похоже, не останавливается - PullRequest
0 голосов
/ 19 октября 2018

У меня есть список заданий в моей базе данных, когда я запускаю php artisan queue:work database, он обрабатывает каждое задание, но как только он обрабатывает последнее, он, похоже, не останавливается.Я думал, что делать это таким образом будет означать, что если у работника не осталось рабочих мест, он останавливается.

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Добавьте параметр --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 устарело.

0 голосов
/ 19 октября 2018

Обратите внимание, что после запуска команды queue: work она будет продолжаться до тех пор, пока она не будет остановлена ​​вручную или вы не закроете свой терминал.Использование опции --once не решит вашу проблему.Более подробную информацию можно найти в документации по laravel.

В документации сказано: Опция --once может использоваться для указания работнику обрабатывать только одно задание из очереди.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...