Диспетчер горизонтов Laravel не перезапускается после того, как horizon :: завершается с запущенным демоном forge - PullRequest
0 голосов
/ 06 февраля 2019

Horizon работает нормально, но только недавно, после развертывания, супервизор и работники очередей не запускаются снова с графическим интерфейсом Horizon, показывающим "Неактивно"

Чтобы снова запустить их, я могу:

  • перезапустите работника демона из кузницы
  • перезапустите супервизор /etc/init.d/supervisor restart

Мой скрипт развертывания содержит php artisan horizon:terminate.Я также пробовал сброс / очистку и их комбинацию.

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

Демон работает без ошибок во всем этом.

Должен прекратить удаление ивызвать сервис или это сам демон?

1 Ответ

0 голосов
/ 06 февраля 2019

Запуск horizon:terminate убьет демона, когда демон будет убит, супервизор поймет это и загрузит нового демона.Это ясно видно, если вы наблюдаете за своим сервером с помощью htop во время выполнения команды завершения.

Если выполняется долго выполняемое задание, оно будет запускать текущее задание до его завершения.Обычно завершается перезагрузка процесса, чтобы гарантировать, что новый код загружен в горизонт, это должно быть сделано после последнего шага в envoyer, так что вы в безопасности и получаете новый код в горизонт.

Кажется, в вашей настройке что-то не так.Запускается ли процесс horizon перед завершением вызова, снова проверьте htop ?.Или что происходит, когда команда вызывается вручную?

...