В Laravel Homestead не работают супервизоры

Недавно я установил Horizon в проект Laravel, который работает в ящике Homestead Vagrant.

Моя проблема в том, что работники очереди не забирают задания. У меня нет кураторов:

vagrant@homestead:~/Code/project$ artisan horizon:list
+----------------+------+-------------+---------+
| Name           | PID  | Supervisors | Status  |
+----------------+------+-------------+---------+
| homestead-D2dV | 7094 | None        | running |
+----------------+------+-------------+---------+

vagrant@homestead:~/Code/project$ artisan horizon:supervisors
No supervisors are running.

Вот моя конфигурация супервизора (horizon.conf):

[program:horizon]
process_name=%(program_name)s
command=/usr/bin/php /home/vagrant/Code/project/artisan horizon
autostart=true
autorestart=true
user=vagrant
redirect_stderr=true
stdout_logfile=/home/vagrant/Code/project/storage/logs/horizon.log

Когда я включаю эту машину, мои журналы и веб-интерфейс указывают, что "Горизонт успешно стартовал.".

И моя конфигурация горизонта (Horizon.php):

'environments' => [
    'production' => [
        'supervisor-1' => [
            'connection' => 'redis',
            'queue' => ['default', 'queue-1', 'queue-2', 'queue-3'],
            'balance' => 'auto',
            'processes' => env('HORIZON_PROCESSES', 10),
            'tries' => 3,
        ],
    ],

    'local' => [
        'supervisor-1' => [
            'connection' => 'redis',
            'queue' => ['default', 'queue-1', 'queue-2', 'queue-3'],
            'balance' => 'auto',
            'processes' => env('HORIZON_PROCESSES', 3),
            'tries' => 3,
        ],
    ],
],

Мой руководитель, похоже, тоже активен:

vagrant@homestead:~/Code/project$ sudo service supervisor status
● supervisor.service - Supervisor process control system for UNIX
   Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-03-28 13:03:08 UTC; 6h ago
     Docs: http://supervisord.org
  Process: 1591 ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown (code=exited, status=0/SUCCESS)
 Main PID: 2547 (supervisord)
    Tasks: 2
   Memory: 34.4M
      CPU: 21.038s
   CGroup: /system.slice/supervisor.service
           ├─2547 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
           └─7094 /usr/bin/php /home/vagrant/Code/project/artisan horizon

Mar 28 18:32:13 homestead supervisord[2547]: 2018-03-28 18:32:13,225 INFO spawned: 'horizon' with pid 7057
Mar 28 18:32:15 homestead supervisord[2547]: 2018-03-28 18:32:15,055 INFO success: horizon entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Mar 28 18:32:16 homestead php[7057]: DIGEST-MD5 common mech free
Mar 28 18:32:16 homestead supervisord[2547]: 2018-03-28 18:32:16,693 INFO exited: horizon (exit status 0; expected)
Mar 28 18:32:17 homestead supervisord[2547]: 2018-03-28 18:32:17,706 INFO spawned: 'horizon' with pid 7072
Mar 28 18:32:19 homestead supervisord[2547]: 2018-03-28 18:32:19,584 INFO success: horizon entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Mar 28 18:32:26 homestead php[7072]: DIGEST-MD5 common mech free
Mar 28 18:32:26 homestead supervisord[2547]: 2018-03-28 18:32:26,206 INFO exited: horizon (exit status 0; expected)
Mar 28 18:32:27 homestead supervisord[2547]: 2018-03-28 18:32:27,210 INFO spawned: 'horizon' with pid 7094
Mar 28 18:32:29 homestead supervisord[2547]: 2018-03-28 18:32:29,052 INFO success: horizon entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

Есть какие-нибудь мысли или идеи относительно того, почему мой руководитель (-ы) не работает?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
2
0
2 196
1

Ответы 1

Оказывается, моя конфигурация Horizon.php была неправильной.

Я изменил эту строку:

'local' => [ ...

Чтобы соответствовать моей переменной среды APP_ENV; который я установил как development.

Действительно, можно было бы предположить, что если конкретная среда отсутствует, используются значения по умолчанию, но кажется, что каждый env должен быть, по крайней мере, объявлен в конфигурации среды очереди.

Priit 06.04.2021 23:12

Другие вопросы по теме