Диспетчер горизонтов Laravel не перезапускается после того, как horizon:: завершается с запущенным демоном forge
Horizon работает нормально, но только недавно, после развертывания, супервизор и работники очередей не запускаются снова с графическим интерфейсом Horizon, показывающим "Неактивно"
Чтобы снова запустить их, я могу:
- перезапустите работника демона из кузницы
- перезапустить супервизор
/etc/init.d/supervisor restart
Мой скрипт развертывания имеет php artisan horizon:terminate
внутри. Я также пробовал сброс / очистку и их комбинацию.
Когда я запускаю терминатор в команде с неактивным горизонтом, кажется, ничего не происходит. Когда я запускаю ту же команду с активным горизонтом, она выключается, но демон не перезагружает супервизор.
Демон работает без ошибок на протяжении всего этого.
Следует ли прекратить снос и запуск сервиса или это сам демон?
1 ответ
Бег horizon:terminate
убьет демона, когда демон будет убит, супервизор поймет это и загрузит нового демона. Вы можете ясно видеть это, если вы контролируете свой сервер с htop
во время выполнения завершить команду.
Если выполняется долго выполняемое задание, оно будет запускать текущее задание до его завершения. Обычно завершается перезагрузка процесса, чтобы обеспечить загрузку нового кода в горизонт, это следует сделать после последнего шага в envoyer
, так что вы в безопасности, вы получаете новейший код в горизонте.
Кажется, в вашей настройке что-то не так. Запускается ли процесс horizon перед завершением вызова, еще раз проверьте htop
?. Или что происходит, когда команда вызывается вручную?