Ordered background jobs processing
We've faced some problems using Sidekiq while processing messages from a side system. For instance, the message is a data of an order in particular time. The side system will send a new data of an order on an every change. Orders are frequently updated and a queue containts some closely located messages of the same order.Sidekiq doesn't guarantee a strict message order, because a queue is processed by multiple threads. For example, we've received 2 messages: M1 and M2. Sidekiq handlers begin to process them parallel, so M2 can be processed before M1.
Ordered background jobs processing #ruby #rubydeveloper #rubyonrails