всем привет, подскажите, пожалуйста. Есть обработчик очереди RabbitMQ. Сообщение обрабатывается по шагам, эти шаги хранятся в памяти. Во время обработки сообщения может возникнуть так называемая "восстанавливаемая" ошибка, т.е. при повторном запуске с последнего шага ошибка может не произойти(например, таймаут обработки).
Я вижу 2 варианта решения проблемы:
1) сделать nack с флагом requeue (но в таком случае нужно в тело сообщения записать информацию по последнему завершённому шагу, пока не разобрался как это сделать)
2) кинуть в очередь новое сообщение и в нём уже указать шаг, на котором остановились
Как правильнее будет поступить в этом случае?