Laravel Pusher не работает только при запуске Horizon с Supervisor - PullRequest
1 голос
/ 30 мая 2020

Трудно предоставить для этого правильную информацию. Был на ней дней . У меня Pusher хорошо работает в Vagrant. Я выдерживаю это с базовыми c конфигурациями Horizon (prod / local не имеет значения):

 'production' => [
        'supervisor-1' => [
            'connection' => 'redis',
            'queue' => [
                env('DEFAULT_QUEUE', 'default'),
                env('COMMENT_EVENT_QUEUE', 'comms')
            ],
            'balance' => 'auto',
            'processes' => 10,
            'tries' => 3,
        ],

Все это стоит за Stancl Tenancy для Laravel. И все работает отлично работает. Я установил ту же самую систему на производственной коробке. Это тоже отлично работает.

Я уже установил то же самое в бизнесе, который усложняет работу с балансировщиком нагрузки и SSL. Так что мой ящик видит только http traffic c на последней миле. Я использую \URL::forceScheme('https'); в загрузке, чтобы все работало нормально, и это работает.

Я запускаю Horizon из Supervisor, используя этот файл conf:

[program:horizon] 
process_name=%(program_name)s 
startsecs=0
command=php /var/www/er2/artisan horizon
user=www-data
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/www/er2/storage/logs/horizon.log
stopwaitsecs=3600

Проблема :

При выполнении Horizon (или очереди: работа) через супервизор НЕ удается отправить сообщения толкателя со следующей ошибкой:

{"исключение": "[объект] (Illuminate \ Broadcasting \ BroadcastException (код: 0): at / var / www/crisis/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/PusherBroadcaster.php: 121)

Вот что интересно: если я запускаю Horizon (или очередь: работа) из командной строки, он работает. Только когда я запускаю его с помощью Supervisor, он терпит неудачу .

Кто-нибудь знает, с чего начать?

Что я пробовал:

  • Смена пользователей в супервизоре - все еще не удается
  • Изменение супервизора на запуск очереди - все еще не удается
  • Изменение на root в командной строке - все еще работает
  • Смена воркеров - все равно не удается, если Supervisor
  • Еще много, но ничего не меняет

Сброс var s во всех файлах поставщика, единственное различие, которое я могу найти:

С Supervisor (сбой):

RESPONSE --> {"body":false,"status":0}

С командной строкой (успех ):

RESPONSE --> {"body":"{}","status":200}

Я не могу сузить круг отличий Pusher, когда Horizon запускается из Supervisor и из командной строки. Есть мысли?

...