LINUX.ORG.RU

Где прячется задача для Laravel-очереди?

 , , ,


0

1

Что-то странное у меня творится.

У меня есть задача для Laravel-очереди, написанная в виде PHP-класса, как положенно. Внутри этой задачи вызывается Shell-скрипт. Задачи хранятся в MariaDB.

И по логам я вижу, что этот Shell-скрипт все время запускается, причем с определенными параметрами.

Его никто кроме Laravel-очереди запускать не может. Но я смотрю в таблицу jobs и в таблицу failed_jobs - там пусто, ни одной записи. И я не могу понять, почему эта задача отправляется на выполнение. Я уничтожаю процесс этого скрипта, но он снова появляется. Его однозначно запускает Laravel-очередь.

В файле /etc/supervisor/conf.d/laravel-worker.conf у меня прописана команда:

command=php /var/www/mysite/artisan queue:work --sleep=3 --tries=3

То есть, бесконечно задача запускаться не должна (максимум 3 раза). Но она реально запускается бесконечно.

Я не пойму, где эта задача хранится? Почему она перезапускается бесконечно? Ее перезапускает сам supervisor, или тупит artisan queue:work, все время генеря новую задачу при старте через supervisor? Где это можно посмотреть?


UPD1: Сейчас проделал такой экспериент. Сначала остановил supervisor:
supervisorctl stop laravel-worker:*

Затем удалил процесс проблемного скрипта, и запустил вручную команду обработки очереди:
command=php /var/www/mysite/artisan queue:work --sleep=3 --tries=3

В результате проблемный скрипт НЕ запустился.

Получается, что его бесконечно запускал именно supervisor. Но в supervisor ведь прописана только команда «php /var/www/mysite/artisan queue:work --sleep=3 --tries=3», то есть скрипт не может запуститься сам, ему нужно чтобы сработало задание очереди!

Вот и непонятно, почему при ручном поллинге очереди скрипт не выполняется, а supervisor его каким-то волшебным образом все время ухитряется запускать?


UPD2: В логе /var/log/supervisor/supervisord.log за период, когда бесконечно запускался проблемный скрипт, нет ничего, ни одной записи.

★★★★★

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.