У меня запущен процесс на сервере.
К вашему сведению Я пытаюсь решить одну и ту же проблему как для nodejs, так и для Python - я не думаю, что конкретный сервер / языки имеет значение, так как вопросподробнее о подходе к развертыванию.
Работа, которую выполняет процесс, может занять от нескольких секунд до нескольких часов.
Я пытаюсь понять, как развернуть обновленный код для процесса.
Я не хочу просто останавливать процесс в середине того, что он делает, из-за страха потерять всю работу, проделанную до сих пор в длительном процессе.
Так что же хорошоспособ заставить процесс корректно завершить работу и перезапустить, когда поступит новый код?
Я использую systemd для запуска службы nodejs.
Я использую Ansible для развертывания обновлений, не то, чтобы это действительно было актуально.
Я подумал, что, возможно, в конце каждого выполнения длительного процесса сервер может проверить, не был ли какой-либо файл помещен на диск в качестве какого-либо флага для индикации.то есть он должен выйти и перезапуститься, но это кажется хрупким и хакерским.
У кого-нибудь есть лучшие механизмы для такого рода вещей?