Scheduled Automation Error: Took too long to process

Hello-

Has anyone encountered this error before?

image

The bot was updating a column (with complex Appsheet formula which contains 20 lookups to compute for the score based on the other fields) for 5000 records in one table but encountered this error and stops somewhere in the middle.

Additional Question: What is the fastest way to update the rows in the table? Because If I have 5000 rows and the average execution time is 3s, it will take the app to update all the rows by 4.16 hours.

1 Like

This will largely depend on what your app formula is doing.

It is frequently necessary (and beneficial) to build interim source tables - tables that are ONLY used to facilitate processing. For example, if I wanted to produce a Monthly Sales report that reflects the Sales trend per day, I would build a table that holds the Daily summarized values AND when each Sales Order is placed, I would update, through automation, this interim Daily Summary table.

When its time to produce the Monthly report, I simply need to pull the values from the interim table. This approach accomplishes a few things actually:

  1. Most importantly…the processing to compute the Daily values is spread out over time in small background processes.
  2. I always have access to the summarized data so I could show history reports/charts easily if ever needed.
  3. If I wanted, I could show in the app a chart or report for the current Month so far.

In your case, is sounds as though you are gathering 20 different values to compute a final score. At some point, the final score will be challenged as incorrect and you’ll likely need to know what values contributed to that final score. Gathering those values in an interim table over time will be way more efficient and much easier to analyze any computing issues or questions that arise.

You too will have the side-benefit of being able to actually display to the users the values that make up the final score so they can see for themselves.

I hope this helps!!

3 Likes

There is on optimization that you can try.

Instead of using a scheduled event with a “For Each Row In Table” enabled, disable that. In the process use step that calls an action that does “Execute an action on a series of rows”, that action should call your action that does the column update. That would cause a batch update of the rows.

Another option is we can enable parallel execution of the rows, if you would like to try that send an email to support@appsheet.com so that I could get your information and enable you for that.

2 Likes