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

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

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

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

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

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

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

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

1 ответ

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

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

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

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