Long time unacknowledged message in RabbitMQ -


i have business process receives order rabbitmq queue. thinking not acknowledging (meaning, leave in queue) potentially long time (>10 minutes) , either removing (acknowledging) or not (not acknowledging). make sense? best way deal long running processing on top of rabbitmq tasks?

in general ok do. i've done number of time, , has few advantages such if process crashes, unack'd message go in queue , picked again later

there potential downsides this, though.

for one, possible overload server unack'd messages. sure set consumer prefetch limit prevent happening

it's possible have processes should not restarted once running. have lot of processes this... things kick off external server processes, long-running database database oracle. in situations this, best ack message right away , use status update queue of kind know when process done.

over-all, there no "best way" handle long running tasks... there no best practices @ all. every practice use has potential benefit , potential detriment. real trick understand scenarios work best practice. need evaluate pro's , con's of approach scenario.


Comments

Popular posts from this blog

java - Date formats difference between yyyy-MM-dd'T'HH:mm:ss and yyyy-MM-dd'T'HH:mm:ssXXX -

c# - Get rid of xmlns attribute when adding node to existing xml -