избегая php artisan queue:work : Драйвер очереди - Redis или база данных (Laravel 5.4)

В настоящее время я использую базу данных в качестве драйвера очереди, я установил Laravel 5.4 на ПК с Windows 10. Для обработки очередей я использовал php artisan queue:work, что было вполне нормально на этапе разработки. Теперь проект полностью готов, и его необходимо развернуть на Linux-сервере (выделенном). Я не знаю, как избежать запуска команды php artisan queue:work на терминале для обработки почтовых заданий?

Однажды я развернулся на виртуальном хостинге и использовал задания cron. Но теперь у меня есть выделенный сервер, я думаю, я должен иметь возможность использовать что-то еще для запуска заданий, я также думал об использовании Redis в качестве драйвера очереди, а не базы данных в качестве драйвера очереди.

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


person Murlidhar Fichadia    schedule 24.06.2017    source источник


Ответы (1)


Документация Laravel описывает это с помощью супервизора.

См.: Конфигурация Laravel Supervisor

Супервизор — это монитор процесса, который следит за тем, чтобы ваша команда очереди (или любая другая команда в этом отношении) выполнялась и перезапускалась, если она умирает.

Редактировать:

См. документацию супервизора.

В основном для Centos вы можете использовать yum:

yum install supervisor

Простая установка

// required for easy_install (if not installed already)
yum install python-setuptools     
// install supervisor
easy_install supervisor

Или пункт

pip install supervisor

После этого просто создается ваша конфигурация (на основе примера, приведенного в документации Laravel), это обрабатывается шаг за шагом:

Инспектор: создание-файла-конфигурации

И создайте сервис: Setup Supervisor.

После этого вы можете запустить службу с помощью:

service supervisord start
person Robert    schedule 24.06.2017
comment
Я буду смотреть в него. Но если бы вы могли отредактировать свой ответ с точными шагами? Я использую CentOS6. Я не уверен, как продолжить настройку. документация laravel довольно краткая - person Murlidhar Fichadia; 24.06.2017