Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 29.09.2020 17:32:42

Работа с очередью в супервизоре

Здравствуйте.
Сейчас все очереди выполняются через супервизор:

[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?

Заранее спасибо!

Не в сети

#2 30.09.2020 09:50:58

Re: Работа с очередью в супервизоре

В program:worker укажите --queue=default

Не в сети

#3 01.10.2020 15:05:55

Re: Работа с очередью в супервизоре

Не вышло. В таблице jobs вижу что queue=default и в payload вижу листенер в котором задавал имя очереди следующим образом:

    public function queue(QueueManager $handler, $method, $arguments)
    {
        $handler->push($method, $arguments, 'custom_name_queue');
    }

Не в сети

Подвал раздела