В продакшене нам нужно поддерживать работу нашего artisan queue:work. По какой-то причине процесс artisan queue:work может перестать работать. Поэтому нам нужен монитор процесса, который поддерживает работу нашего artisan queue:work и отслеживает текущую очередь.
Согласно документации Laravel, монитор процесса, используемый для запуска и мониторинга очереди, называется Supervisor. В этом посте я буду использовать pm2 вместо супервизора. PM2 — это демон-менеджер процессов, который поможет вам управлять вашим приложением и поддерживать его онлайн 24 часа в сутки, 7 дней в неделю.
Установка PM2
Мы можем установить pm2 с помощью npm с помощью следующей команды:
npm install pm2 -g
Настройте файл PM2 для очереди Laravel
Создайте your-worker-name.yml в папке вашего проекта laravel, вы можете поместить файл в корневую папку или создать новую папку, например /worker .
apps:
- name: your-worker-name
script: artisan
exec_mode: fork
interpreter: php
instances: 1
args:
- queue:work
- --tries=5
- --sleep=1
Запустите PM2
Откройте терминал из корня папки проекта Laravel и выполните следующую команду.
pm2 start your-worker-name.yml // Or if you put pm2 file not in root folder pm2 start worker/your-worker-name.yml
Мониторинг PM2
Чтобы отслеживать работу очереди Laravel, мы можем использовать команду pm2 list, и вот результат.

Это все, чем я могу поделиться из этого поста, пожалуйста, не стесняйтесь оставлять комментарии для любых предложений или вопросов. Спасибо, что прочитали мой пост. Увидимся…
Ссылки
1. https://laravel.com/docs/8.x/queues#supervisor-configuration
2. https://pm2.keymetrics.io/