Page MenuHomePhabricator

Spike: Design delay handling
Closed, ResolvedPublic2 Story Points

Description

We delay messages by a few minutes, in a few places. Reconsider whether that's still the best thing to do. It's nasty because we have to add delay logic to every queue consumer, and we delay by requeueing, so the delay can be very unpredictable during high load, and it takes time away from actually processing.

Instead, let's create a new "delayed" queue, perhaps one per delay duration. Its consumer stops once "delay until" is greater than the current time. Messages which are ripe for requeueing will be pushed back onto their home queue (still has the load issue).

Event Timeline

awight created this task.Mar 30 2016, 7:16 PM

We might be able to... delay or invalidate this task.

awight moved this task from Backlog to Main queues on the FR-ActiveMQ board.Jul 27 2016, 9:04 PM
awight renamed this task from Write specialized delay queue and handlers to Spike: Design delay handling.Jul 28 2016, 5:38 PM
awight closed this task as Resolved.Aug 16 2016, 5:45 PM
mmodell removed a subscriber: awight.Jun 22 2017, 9:48 PM