Supervisor — монитор процессов для ОС Linux, он автоматически перезапустит ваши консольные процессы, если они остановятся. Для установки Supervisor в Ubuntu можно использовать такую команду:
sudo apt-get install supervisor
Конфиги Supervisor обычно находятся в папке /etc/supervisor/conf.d
. Можно создать любое количество
конфигов.
Пример конфига:
[program:yii-queue-worker]
process_name=%(program_name)s_%(process_num)02d
command=/usr/bin/php /var/www/my_project/yii queue/listen --verbose=1 --color=0
autostart=true
autorestart=true
user=www-data
numprocs=4
redirect_stderr=true
stdout_logfile=/var/www/my_project/log/yii-queue-worker.log
Этот пример указывает, что Supervisor должен запустить 4 воркера queue/listen
, наблюдать за ними,
и автоматически перезапускать их если они будут падать. Весь вывод будет писаться в лог.
Подробнее о настройке и использовании Supervisor читайте в документации.
Зупаск воркера в режиме демона командой queue/listen
поддерживают драйвера File, Db, Redis,
RabbitMQ, Beanstalk, Gearman. Дополнительные опции смотрите в описании нужных вам драйверов.
Запускать воркеры можно с помощью cron. Для этого удобнее всего использовать команду queue/run
.
Она работает пока в очереди есть задания.
Пример настройки:
* * * * * /usr/bin/php /var/www/my_project/yii queue/run
В этом случае cron будет запускать команду каждую минуту.
Команду queue/run
поддерживают драйвера File, Db, Redis, Beanstalk, Gearman.
Дополнительные опции смотрите в описании нужных вам драйверов.