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
Our API offers a delayed requeue where it is possible that the error is transient and could be fixed by simply returning to the queue with a delay. There are three responses we have:
Native support for requeue with delay; we used this
No native support for requeue and we requeue via a timer event that posts after the elapsed time window
We block for the delay period then requeue
We know that 3 is never the right solution as this will block the whole pump, and pause message processing, not requeue with a delay. We should fix those transports that have the incorrect behavior.
Further technical details
The internal message consumer is a good example of how to get this right with a internal Requeue method that is called via a timer if delay is requested, and just passed through if not.
The text was updated successfully, but these errors were encountered:
As an example, we don't currently support SendWithDelay on AWS SNS/SQS but we should be able to do this.
I don't think we want to u delay queue, as this delays all items. We would need to set up a specific delayqueue for time required and poll that queue for items to repost. Using the visibility timeout seems better, but this might not be possible if not being used from a Requeue as you have to read a message to then increase its lock period
Create an in-memory scheduler that relies on Timers and thus will not persist schedules across runs (i.e works for in 3 seconds ok, but not 3 days, and not reliable)
Add external schedulers to implement such as AWS Scheduler, Quartz, Hangfire, Redis, Postgres etc.
Describe the bug
Our API offers a delayed requeue where it is possible that the error is transient and could be fixed by simply returning to the queue with a delay. There are three responses we have:
We know that 3 is never the right solution as this will block the whole pump, and pause message processing, not requeue with a delay. We should fix those transports that have the incorrect behavior.
Further technical details
The text was updated successfully, but these errors were encountered: