locking - managing lock on masssage in rabbit mq -
i'm trying use rabbitmq in more unconventional way (though @ point can pick other message queue implementation if needed)
my application working , have 1 queue (i can have more if needed) mant customers fetching n messages asynchronous. after work send results client db.
i have 2 problems: first dont want work on same message, second want grantee wont lose messages in case customer close browser or stop working.
i looked @ documentation , saw ttl perfect me if alter message got timeout isn't going deleted move queue. can't find way alter this.
moreover looked @ confirmation option in first glance looked wanted,that mechanism working this: when consumer gets message send confirmation queue, thought can delay confirm , send when work done on client side. problem can't program queue if message didnt confirm return queue (or another).
i find how scheduled message didn't either because don't want message inserted queue in 5 min,i want when customer receive message locked in queue 5 min until confirm delete set otherwise return queue.
can temporary queue enables mechanism?
if can 1 of problems or suggest architecture or option in mq great.
resources:
confirmation: http://www.rabbitmq.com/blog/2011/02/10/introducing-publisher-confirms/
post locks problem batcher component: locks , batch fetch messages rabbitmq
ttl: https://www.rabbitmq.com/ttl.html
schedule message: https://www.rabbitmq.com/blog/2015/04/16/scheduling-messages-with-rabbitmq/
my problem can't program queue if message didnt confirm return queue (or another).
rabbitmq anyhow, have switch off auto-ack flag, figured out
i thought can delay confirm , send when work done on client side.
so send ack once you've finished processing message. unacknowledged messages remain in queue , re-delivered next consumer (or same 1 when it's again, depending on setup)
Comments
Post a Comment