Laravel Horizon - несколько очередей, запущенных от одного руководителя - PullRequest
0 голосов
/ 19 декабря 2018

Может ли кто-нибудь помочь с правильной настройкой в ​​horizon.php, чтобы один супервизор мог запускать несколько очередей?Я пробовал:

'supervisor-1' => [
    'connection' => 'redis',
    'queue' => ['default', 'queue2'],
    'balance' => 'simple',
    'processes' => 10,
    'tries' => 3,
],

, а также:

'supervisor-1' => [
    'connection' => 'redis',
    'queue' => 'default, queue2',
    'balance' => 'simple',
    'processes' => 10,
    'tries' => 3,
],

Вторая очередь правильно отображается в горизонте, и я могу отправлять им задания, но они просто не обрабатываются.

Я подготовлен в Forge, и мои очереди настроены с использованием redis со следующей конфигурацией queue.php:

'redis' => [
        'driver' => 'redis',
        'connection' => 'default',
        'queue' => 'default', // Default Queue
        'retry_after' => 90,
        'block_for' => null,
    ],

1 Ответ

0 голосов
/ 19 июня 2019

в config/horizon.php

'supervisor-1' => [
    'connection' => 'redis',
    'queue' => ['default', 'queue2'],
    'balance' => 'simple',
    'processes' => 10,
    'tries' => 3,
],

в супервизоре: --queue=default,queue2

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/App/artisan queue:listen redis --queue=default,queue2 --sleep=3 --tries=3 
autostart=true
autorestart=true
user=root
numprocs=8
redirect_stderr=true
stdout_logfile= /var/www/html/App/storage/logs/worker.log
...