Cancelling tasks currently means unqueueing them before they are done, or moving them from status failed/timeout/retry before they are requeued.
We should add a status (that also auto-expires like success & cancel) to mark that while during the task something happened, that should be noticed, making us need to abort the current job.
This would be the case for instance for HTTP requests that don't succeed but which we don't want to retry, while still having some visibility (over the next N hours/days) that something happened.
Related APIs would be mrq.context.abort_current_job(expires=None) and a mrq.exceptions.AbortInterrupt
Cancelling tasks currently means unqueueing them before they are done, or moving them from status failed/timeout/retry before they are requeued.
We should add a status (that also auto-expires like success & cancel) to mark that while during the task something happened, that should be noticed, making us need to abort the current job.
This would be the case for instance for HTTP requests that don't succeed but which we don't want to retry, while still having some visibility (over the next N hours/days) that something happened.
Related APIs would be
mrq.context.abort_current_job(expires=None)and amrq.exceptions.AbortInterrupt