Контекст задачи такой.
Обработка каждого задания из очереди может быть очень долгой до нескольких минут, заданий очень много. И если в этот момент падает демон node.js я безвозвратно теряю сообщения.
Решения:
1. Делать журнал "транзакций" на стороне демона node.js и самому вести лог взятых на обработку сообщений, их статус и прочее, что бы при старте демона смотреть незавершенные транзакции и пытаться их завершить, скажем через отправку обратно в очередь.
2. Я уверен, что это же самое должен как-то делать rabbitmq.
Если вариант 2 всё-таки невозможен, тогда придется обходиться вариантом 1, и ждать когда в rabbitmq реализуют все чего так в нем не хватает.