Hello! I am looking for more insight on this error " Workflow error - Operation timed out – app too busy"
Background Info:
Every night I run a processing job that does several hundred API calls and inserts data into an external database. It worked great before and took around 30 minutes to complete. However, the last two nights I have gotten the above error in my logs.
The backend workflow is looping through a table with ~450 records in it and for each record, it makes an API call. It was working fine when I had less than 400 records but two nights ago it stopped at 400 and last night it stopped around 430.
Questions:
-
I thought Bubble throttled your app when it got close to capacity but this appears to shut it down. Once I get this error message, the workflow ends. Is it correct that this error will end all app activity?
-
Is there any way to monitor when the capacity is getting close to max and automatically pause the workflow for X minutes?
-
Is there any way to receive an alert via email when “Workflow error - Operation timed out” happens?
(I am on the personal plan)
Hey @bubble43
In my experience, heavy backend workflows are hard to get right, and hard to debug when they fail.
Other users have suggested slowing the workflows right down, and that usually helps increase the success rate. i.e. if there is no need for the workflow to happen quickly then increase the interval between each turn of the list and perhaps it’ll complete over a few hours slowly.
In terms of debugging - have you looked into the server logs to see exactly where its breaking?
In terms of an alert - I’m not sure you can set an alert on it failing, but perhaps you could look at this a different way and factor in a counter somehow into the workflow that counts how many times the loop runs vs. what is expected based on the table size and then sends you an email when it successfully completes / sends you an email at an arbitrary time if the workflow hasn’t completed by then?
Josh @ Support Dept
Helping no-code founders get unstuck fast save hours, & ship faster with an expert on-demand
I post daily about no-code and Bubble on Twitter
Hey @josh24 , thanks for the response!
I added a piece to pause the workflow for 10 minutes once the iteration hits 300. I tested it earlier today and it worked but I will see if it works tonight. I thought about increasing the time between each workflow iteration call but that worries me a bit because down the road it may end up taking too long to complete, although if it doesn’t work tonight I’ll try that out. Do you think a 5 - 8 second pause between each iteration would suffice or would it need to be more?
I saw where it has timed out the last two nights from the logs… it’s during the first process but that process is pretty intensive. I wonder if limiting the API results will help alleviate some pressure (not the number of results but changing some fields to “ignore” in the API connector page).
I like your idea about sending an email based on expected results. I created a “job history” table and can leverage that to send an email, thank you!