Как подбирать недообработанные длительные задания?
Микросервис запущен в кубере с несколькими экземплярами (репликами). Задания к нему длительные (например 5 минут). Если в кубере происходит autoscaling на уменьшение, либо идет деплой новой версии, то работающие экземпляры завершаются. Как сделать так, чтобы недообработанные длительные задания, которые были в обработке у убитых экземпляров не зависли?
Варианта два:
1. Не завершать процесс, пока эти задачи не завершены. Новые задачу в работу не брать.
2. Предусмотреть, что задача может быть прервана на середине. В случае непредвиденного завершения - помечать как-нибудь и запускать с той точки, на которой остановились.
Ещё можно периодически проверять зависшие задачи и перезапускать их.