Closed richfitz closed 1 year ago
Patch coverage: 100.00
% and no project coverage change.
Comparison is base (
c960ef7
) 99.94% compared to head (d0f6f10
) 99.94%.:exclamation: Current head d0f6f10 differs from pull request most recent head 302d07f. Consider uploading reports for the commit 302d07f to get more accurate results
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
This PR is part 1 of proper fault tolerance: the ability to retry a task. The idea is explained hopefully reasonably in the vignette
The basic idea is:
follow
argument to control this where you might want to not follow the redirectWith this in place there's a bunch of stuff we can implement later, including things like retrying up to
n
times after specified failure conditions. That can be saved into the task itself and the retry can be done by the worker at the point it saves the task result (or at the point where we deal with orphan tasks).The situation with tasks that have dependencies is much more complicated and I've left it out of this PR.
Apologies that this is a bit big, but it's not really as bad as it looks from the count as we use precompiled vignettes - there are less than 400 lines of implementation here and much of that is passing extra args around!