Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте.
Сейчас все очереди выполняются через супервизор:
[program:worker]
process_name=%(program_name)s_%(process_num)02d
command=php /app/artisan queue:work --sleep=3 --tries=3 --timeout=1200 --daemon
autostart=true
autorestart=true
numprocs=3
user=worker
redirect_stderr=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
Нужно чтобы одна из очередей выполнялась отдельно. Делаю следующее:
Для листенера указываю имя очереди как здесь.
И добавляю новый программный раздел в супервизоре:
[program:new-program]
process_name=%(program_name)s_%(process_num)02d
command=php /app/artisan queue:work --queue=notifications --sleep=3 --tries=3 --timeout=1200 --daemon
autostart=true
autorestart=true
numprocs=3
user=worker
redirect_stderr=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
Подскажите пожалуйста с супервизором. Как исключить очередь notifications чтобы она не выполнялась в программном разделе worker и правильно написана ли команда для запуска очереди notifications в программном разделе new-program?
Заранее спасибо!
Не в сети
В program:worker укажите --queue=default
Не в сети
Не вышло. В таблице jobs вижу что queue=default и в payload вижу листенер в котором задавал имя очереди следующим образом:
public function queue(QueueManager $handler, $method, $arguments)
{
$handler->push($method, $arguments, 'custom_name_queue');
}
Не в сети
Страницы 1