can enable a job/function to durably complete
meaning even a node goes down when it picks up the message from the Message Queue, it will be picked up by another done and ran again
example:
- message sent to mq
- node pulls from mq and message is locked/blocked
- node dies
- mq will timeout that message and put on DLQ
- another node will re-run