Laravel

Запуск команды php artisan queue:work в фоновом режиме на продакшн-сервере

Вы можете использовать менеджер процессов PM2 (Advanced, production process manager for Node.js) для этого.

Вот общий план шагов для настройки PM2 для запуска рабочего процесса очереди в фоновом режиме:

  1. Установите PM2 на вашем продакшн-сервере, если он еще не установлен. Вы можете установить его глобально с помощью npm, выполнив следующую команду:
    npm install -g pm2
  2. Перейдите в директорию вашего проекта Laravel с помощью терминала.
  3. Выполните следующую команду для запуска рабочего процесса очереди с использованием PM2:
    pm2 start artisan --name projectname-queue --interpreter php -- queue:work
    Эта команда запускает рабочий процесс очереди Laravel с помощью PM2 и называет его "projectname-queue". PM2 будет поддерживать работу рабочего процесса в фоновом режиме даже после закрытия терминала.Вы можете настроить команду, добавив дополнительные параметры, такие как --tries, --timeout или --sleep, в зависимости от ваших потребностей.
  4. Чтобы просмотреть статус процессов, управляемых PM2, вы можете выполнить следующую команду:
    pm2 status
    Это отобразит статус всех процессов, управляемых PM2, включая рабочий процесс очереди.
  5. Сохраните список запущенных процессов, управляемых PM2, с помощью команды:
    pm2 save
    Это создаст файл-дамп, содержащий информацию о запущенных вами приложениях.
  6. Сгенерируйте скрипт автозапуска для PM2 с помощью команды:
    pm2 startup
    Эта команда создаст скрипт, который будет выполнен при загрузке системы для запуска PM2 и восстановления ваших сохраненных процессов.
  7. Следуйте инструкциям, предоставленным командой pm2 startup. Она покажет вам команду, которую необходимо выполнить с правами администратора root. Выполните эту команду, чтобы настроить скрипт автозапуска.
  8. Что бы перезапустить после деплоя:
    pm2 restart projectname-queue

Используя PM2, вы можете быть уверены, что команда php artisan queue:work будет работать непрерывно на продакшн-сервере, даже после закрытия терминала или выхода из системы.

Обратите внимание, что конкретные шаги и команды могут различаться в зависимости от конфигурации вашего сервера и операционной системы. Всегда рекомендуется обратиться к официальной документации PM2 или найти инструкции, соответствующие вашей среде.