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
#1074 added an exponential backoff to the MU retry mechanism. The retry mechanism attempts to process a message, and on an error, it adds it back to the queue after a (now exponential) timeout. Because of this change, tasks can sit in these timeouts for up to 2 days. Before, they could only wait 5 seconds.
Problem
This greatly increases the chances of tasks being in a retry delay when a MU cycles. These messages are lost! We need to make it so that tasks waiting to be retried are not lost on a cycle / restart.
Proposed Solution
Currently, tasks are added to a sqlite table (tasks) and removed from the database when they are dequeued and begin processing. Instead, we can add a status column to the tasks table that marks whether a task has be dequeued. Then, when the message is successfully processed (or runs out of retries), the task is removed from the table. When recovering the table on cycle, all pending statuses should be overwritten.
The text was updated successfully, but these errors were encountered:
Background
#1074 added an exponential backoff to the MU retry mechanism. The retry mechanism attempts to process a message, and on an error, it adds it back to the queue after a (now exponential) timeout. Because of this change, tasks can sit in these timeouts for up to 2 days. Before, they could only wait 5 seconds.
Problem
This greatly increases the chances of tasks being in a retry delay when a MU cycles. These messages are lost! We need to make it so that tasks waiting to be retried are not lost on a cycle / restart.
Proposed Solution
Currently, tasks are added to a sqlite table (
tasks
) and removed from the database when they are dequeued and begin processing. Instead, we can add astatus
column to thetasks
table that marks whether a task has be dequeued. Then, when the message is successfully processed (or runs out of retries), the task is removed from the table. When recovering the table on cycle, all pending statuses should be overwritten.The text was updated successfully, but these errors were encountered: