Запуск команды php artisan queue:work в фоновом режиме на продакшн-сервере
Вы можете использовать менеджер процессов PM2 (Advanced, production process manager for Node.js) для этого.
Вот общий план шагов для настройки PM2 для запуска рабочего процесса очереди в фоновом режиме:
- Установите PM2 на вашем продакшн-сервере, если он еще не установлен. Вы можете установить его глобально с помощью npm, выполнив следующую команду:
npm install -g pm2
- Перейдите в директорию вашего проекта Laravel с помощью терминала.
- Выполните следующую команду для запуска рабочего процесса очереди с использованием PM2:
Эта команда запускает рабочий процесс очереди Laravel с помощью PM2 и называет его "projectname-queue". PM2 будет поддерживать работу рабочего процесса в фоновом режиме даже после закрытия терминала.Вы можете настроить команду, добавив дополнительные параметры, такие как --tries, --timeout или --sleep, в зависимости от ваших потребностей.pm2 start artisan --name projectname-queue --interpreter php -- queue:work
- Чтобы просмотреть статус процессов, управляемых PM2, вы можете выполнить следующую команду:
Это отобразит статус всех процессов, управляемых PM2, включая рабочий процесс очереди.pm2 status
- Сохраните список запущенных процессов, управляемых PM2, с помощью команды:
Это создаст файл-дамп, содержащий информацию о запущенных вами приложениях.pm2 save
- Сгенерируйте скрипт автозапуска для PM2 с помощью команды:
Эта команда создаст скрипт, который будет выполнен при загрузке системы для запуска PM2 и восстановления ваших сохраненных процессов.pm2 startup
- Следуйте инструкциям, предоставленным командой pm2 startup. Она покажет вам команду, которую необходимо выполнить с правами администратора root. Выполните эту команду, чтобы настроить скрипт автозапуска.
- Что бы перезапустить после деплоя:
pm2 restart projectname-queue
Используя PM2, вы можете быть уверены, что команда php artisan queue:work будет работать непрерывно на продакшн-сервере, даже после закрытия терминала или выхода из системы.
Обратите внимание, что конкретные шаги и команды могут различаться в зависимости от конфигурации вашего сервера и операционной системы. Всегда рекомендуется обратиться к официальной документации PM2 или найти инструкции, соответствующие вашей среде.