События Laravel 11, возникающие несколько раз в рабочей среде (Nginx, Службы приложений Azure, PHP 8.3)Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 События Laravel 11, возникающие несколько раз в рабочей среде (Nginx, Службы приложений Azure, PHP 8.3)

Сообщение Anonymous »

Я столкнулся с проблемой, при которой события Laravel запускаются несколько раз, но только в производственной среде.
Среда:
  • Laravel: 11.x
  • PHP: 8.3
  • Веб-сервер: Nginx
  • Хостинг: Службы приложений Azure
  • Настройка:

    Одна служба приложений запускает основное приложение Laravel.
  • Отдельная служба приложений обрабатывает запланированные задачи (cron).

Мы отправляем события Laravel следующим образом:

Код: Выделить всё

event(new ApplicationStatusChanged($application));
В рабочей среде эти события срабатывают несколько раз для одной операции. Например, один POST-запрос приводит к тому, что прослушиватель событий запускается два раза.
Проверьте прямой запрос GET на наличие теста и получите то же самое.
Этого не происходит в локальной среде разработки.
Мы пытаемся понять:
  • Может ли это быть связано с архитектурой службы приложений Azure, репликацией развертывания или неправильной конфигурацией Nginx?

    Почему синхронные события Laravel могут запускаться несколько раз в такой производственной настройке?
[*]Имеются ли известные особенности или советы по отладке такого поведения в Laravel 11/PHP 8.3?

Мы исключили:
  • Не использовать MustQueue ни для события, ни для прослушивателя — все они синхронны.
  • Прослушиватели не вносят изменений, которые могли бы перезапустить событие.
  • Подтверждено, что это не повторные попытки задания или не связанные с очередью (мы не ставим в очередь).
  • Никакие повторяющиеся запросы не достигают конечной точки.
  • Кэш полностью очищен (конфигурация, маршрут, событие, и т. д.).
  • Полностью остановлена служба приложений cron — проблема не устранена


Подробнее здесь: https://stackoverflow.com/questions/796 ... p-services
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»