Handle HTTP timeout

Hi all,

I have a HTTP call to get a file from a public URL in my scenario.
The scenario starts with a Webhook that contains some JSON bundles (from another scenario). The bundles are then processed in groups of 30.

The HTTP module recently timed out while executing one of the bundles.

I have a ‘Break’ error handler off the HTTP module to attempt retries. It seems to eventually have succeeded during the last retry but then also caused the whole execution to hit the 40 minute timeout so no further cycles were executed - creating a bit of a breakdown of the whole workflow (multiple scenarios).

It’s the first time I’ve had this error in Make, so didn’t really know it existed.

Is there a way to handle timeouts from HTTP calls in the future so instead of potentially hitting the execution limit, I can simply send an email that the issue has occurred?

This would then leave the rest of the cycles/bundles to continue (some of them may route to make a call to a different endpoint so they need to continue).

Any other thoughts about how to handle a timeout and/or other changes I could make?

Thanks so much!
Anthony

2 Likes

Is there a way you can pass less data to the Webhook each time?

Or, break out those three legs of the router into separate scenarios?

3 Likes

Thanks for the response @Donald_Mitchell

I definitely could switch this over to just process each webhook instantly instead of batching them.

I’d still like an email if the HTTP call has timeout though - Do you know if that’s possible?

I’d prefer to keep the legs of the router inside the one scenario to keep the whole workflow ‘readable’ for the client. The entire workflow is already split across 5 scenarios.

Honestly, I don’t know what the options are as far as getting notified when the Scenario has exceeded the time limit.

Before you start something like that could take a while (like, minutes), you could check the current time against {{var.scenario.executionStartedAt}} and see how much time has elapsed.
If it’s 40+ minutes, do not continue, instead send yourself an email.
That will get you your email and a clean end to the Scenario, where you want it to end.
Hopefully it is structured such that it can begin where it left off next time it runs.

3 Likes