Учитывая, что вы указали REST, у вас, очевидно, есть клиенты, которые отправляют запросы и требуют результатов. Почему бы не возложить ответственность за определение того, прошли ли они на самих клиентов .
например. клиент делает запрос. Если это вернет результат, все хорошо. Однако, если клиент обнаруживает, что сервер завершил работу (через преждевременное отключение HTTP-соединения), он может вернуться назад и повторить попытку позже. При желании вы можете реализовать различные стратегии повторов (например, повтор на другом хосте, отказаться от повторных попыток и т. Д.).
Таким образом, клиенты получают знания о том, что им требуется (как они должны делать в любом случае, по-видимому), а ваши серверы не сохраняют состояния, что намного проще в управлении.