You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 1, 2022. It is now read-only.
if the matching engine crashed and failed to save the status after popping the order from the producer queue, on next recovery it loads all orders with processing status from the datastore and removes already saved orders from the consumer queue, after cleanup of consumer queue it proceeds operation as normal
By using
RPOPLPUSHwe can guarantee that the order will be processed exactly once:PSUBSCRIBE) onCONSUMERqueue keyspace notificationsLPUSHkeyevent is firedCONSUMERqueue and atomically pushes to theCONSUMER_PROCESSINGqueue (RPOPLPUSH)processingLREM) the element from theCONSUMER_PROCESSINGqueueEdge cases:
processingstatus from the datastore and removes already saved orders from the consumer queue, after cleanup of consumer queue it proceeds operation as normal