У меня есть laravel настройка приложения на AWS ECS, я докеризировал свое приложение и запускаю диспетчер горизонта в отдельном контейнере. Все контейнеры приложения не имеют состояния и подключаются к одному серверу redis / postgres. Теперь, когда мое приложение находится в рабочем состоянии, у меня запущены два экземпляра контейнера, чтобы разделить нагрузку traffi c, и, следовательно, появляются 2 рабочих очереди супервизора, и из-за этого я сталкиваюсь с проблемой, заключающейся в том, что некоторые задания не выполняются (по крайней мере, это мой анализ). Ниже представлена панель горизонта для лучшего понимания.
Вы можете видеть, что имя [supervisor-1
] процесса совпадает, и очередь они слушают так же хорошо. Я чувствую, что это может быть причиной проблемы.
нашел это -> https://medium.com/@setkyarwalar / setting-up-multiple-horizon-worker-f75b233db521 , который показывает настройку нескольких рабочих горизонта которые слушают разные очереди все вместе. Это не совсем мой вариант использования, хотя.
Мне нужно понять, как я могу решить проблему параллелизма. Как я могу иметь двух отдельных работников, слушающих одну и ту же очередь, и при этом иметь возможность беспрепятственно выполнять все задания?
Любая помощь ценится заранее