Page MenuHomePhabricator

Spike: Design delay handling
Closed, ResolvedPublic2 Estimated Story Points


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

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

awight renamed this task from Write specialized delay queue and handlers to Spike: Design delay handling.Jul 28 2016, 5:38 PM