я делаю так "php artisan queue:work", а как на хостинге сделать так же?
в супервизор затолкать
спасибо, посмотрю
А почему на хостинге должно быть по другому?
Если я на хостинге напишу php artisan queue:work в консоле и зарою вкладку в браузере, очереди перестанут выполнятся, также не могу сделать, мне надо чтобы они всегда прослушивались
чтоб всегда прослушивались тебе выше привели ссылку на документацию как сделать
да я понял) просто ответил человеку почему я также сделать не могу на хостинге как на локале
можешь, но у тебя не будет возможности перезапуска, если процесс умрет, то его некому будет перезапустить чтоб процесс остался запущенным при закрытии терминала, см. команду nohup https://phoenixnap.com/kb/linux-nohup самый простой способ это запуск queue:work через crontab 1 раз в минуту с опцией --stop-when-empty
также supervisor позволит тебе запустить несколько процесс для обработки Job
понял, а можно как то задать чтобы не раз в минуту, а чаще выполнялась команда? Суть в том что у меня в очереди обрабатывается отправка сообщения в телеграм. По сути у меня такой мини чат и если пользователь будет по минуте ждать ответа на сообщения это как-то не очень
использовать supervisor c несколькими worker-ами пытаться сделать crontab чаше раз в минуту, слишком костыльно, имея возможность поставить supervisor + laravel horizon но если очень надо, то четь пакет от spatie, который такое позволяется сделать https://github.com/spatie/laravel-short-schedule
спасибо, буду смотреть
Не все хостеры поддерживают, но если есть возможность запускать крон джобы, то как вариант php artisan queue:work --stop-when-empty
Обсуждают сегодня