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

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

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

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

1 ответ

Решение

Документация Laravel покрывает это с руководителем.

Смотрите: Настройка Laravel Supervisor

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
Другие вопросы по тегам