I have a seq that starts with an instant slack message that looks like this:
123445556,200
Broken down, the number to the left of comma are the epoch/round number (sequential identification numbers). Right of the comma is the seconds until the round begins. Both items are used later in the seq.
However, every couple hours the timing will get off. To prevent this I force the seq through a filter which does an http lookup and compares it to the epoch. Only a match can proceed.
Here is an example of a failed message:
kickoff message: 40044,300
Lookup: Most recent epoch was 40043
Filter: Does 40043 = 40044 ? No. Stop seq
In this case, the timing got off and the solution is to wait 1 minute and send the 40044,300 message once again. Since the epoch will have advanced to 40044, the filter will pass.
I would like to be able to create a branch - maybe with a router or error module that would create a delay and then retry the seq with the original message. But while this is easy enough to accomplish it’s also almost impossible to avoid setting up infinite loops should a message be more seriously off in timing or even just contain nonsense text - which does happen from time to time.
Since this situation doesn’t really qualify as an error (I’m murky here on what exactly is an error but I gather it’s a 400 or 500 error or other failed status from a module itself - not the result of a filter) its seems like I can’t take advantage of error handling’s “attempt x time” features, which seems required.
I appreciate your suggestions / insight.
Ryan