Hello I was wondering if there is anything in Ignite queue to provide
behaviour similar to Queue Visibility Timeout or Processing Completion to
support long running processing of queue items

When item is taken of a queue it becomes "invisible" to subsequent queue
reads until its configurable visibility times out. By that time is
should be processed and removed by the consumer or its timeout extended or
if consumer failed it should reappear on the queue

Perhaps it can be achieved with transactions but I never fully understood
how transactions would work for queue consumed concurrently. Perhaps
transactions with main queue and  journaling queue/list where picked items
copied transactionally upon taking them off the main queue (take and push
happen in the same transaction) and then pushed to end of main queue upon
journaling queue expiration

I would appreciate your take on it and would like to encourage implementing
it when you get to work on distributed data structures in Ignite 3 (and
when it may be? :-)

Reply via email to