-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Sometimes there is a necessity to process group of tasks in sequence.
Ex. consumer puts task1 and then task2 into group1 . xqueue must gurantee for consumers that task2 never be given for consumers until task1 is processed correctly.
Task is processed correctly only if it was acknowledged (removed from space, moved to Done state, or temporary left as zombie).
Request for comments:
- Space for
xqueuemust have fieldorderwhich will be used byxqueuefor ordering tasks inside each group. - Introduce new status
L(forLocked) which assigns to each task when producer puts it into existing group. - Implement transitions of status L -> R for method
:ack. - If task put with delay into existing group, it must be delayed from the last task in the group.
- If taken task released by consumer with delay back inside group, then all tasks of the group must be proper delayed.
- If task is buried then neither other task from the group should be processed
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request