Does "Schedule API on a list" work better with new pricing?

Hi all,

A previous pain point of Bubble was that the “Schedule API on a list” was not working very well on large lists because of performance issues (the workflow was stopping if the list was too big), and the workaround was to schedule API recursively.

If I understood well, with the new pricing, performance is not an issue anymore (according to the Bubble team).
So we should be able (in theory) to schedule an API on a big list, so that the changes should be very quick compared to before…

Has anyone tried that with the new pricing? Is it working well? Is there a limit on the number of items in the list?

Thanks!

It might work better than it used to (I’m in the process of testing this right now)…

But it won’t be fast, or cheap (in WU terms)…

If you want to make changes to a list of things in the fastest and most WU efficient way, use a single ‘Make changes to a list of thing’ workflow action.

note: there is still a limit of how many things you can change, so if the number is very large you’ll need to use this action a number of times… but it will still be a lot faster and cheaper than changing each thing individually.

2 Likes

Update: having just concluded some testing on this, I wouldn’t recommend using Schedule API workflow on a list at all, here’s why.

I ran a test to make changes to a list of 2000 items, using the following 3 methods. The change was the same for each item (setting a date field to the current date/time).

Here are the results.

Schedule API Worfklow on a List
A workflow to make changes to a single thing, being scheduled to run on the list of 2000 things.
Time to complete: 16 minutes
WU Cost: 7,225

Using A Recursive Worklow
A worklfow to make changes to a single thing, running recursively through the list of 2000 things
Time to complete: 13 minutes
WU Cost: 4,793

Make Changes To A List Of Things
A single backend workflow, with just a single action to make changes to the full list of 2000 things
Time to complete: 2 minutes
WU Cost: 1,149

So, a pretty significant difference in both WU cost and speed… with Running the workflow on the list costing more than 6 times as much and taking 8 times longer than using a single workflow action to modify a list of thing.

Obviously, that won’t always be the best option in all cases, and bear in mind you’re still governed by the 5 minute timeout limit on workflows, but it should give you an idea of what the best methods to explore for your use case are.

To be honest I’m not sure why there was any difference in WU cost between using a recursive workflow and scheduling the workflow to run on the list - in theory it’s the same number of server actions, the same number of schedule actions, and the same number of searches, and the same amount of data being searched for - but there you go… one of the mysteries of WUs.

13 Likes

@adamhholmes haven’t you by chance also tested making changes to a list via Data API?

Not yet… but I will do.

~0.7 WU per scheduling 1 WF as I remember from my tests. So using recursive WF for a list of 2000 items you spend additional 1,400WU just on rescheduling the recursive WF.

@adamhholmes very interesting thanks! Still mysteries in WU black box lol!

~0.7 WU per scheduling 1 WF as I remember from my tests. So using recursive WF for a list of 2000 items you spend additional 1,400WU just on rescheduling the recursive WF.

In that case you’d expect the recursive workflow to cost more WUs than running the workflow on the list - when in fact the opposite is true.

Although in both cases there are 2000 ‘schedule’ actions - whether you schedule them one at a time recursively, or all at once (i.e. on a list).

Anyway, I tested the same thing using the Data API with a recursive workflow, and the results were:
Time to finish: 11 minutes
WU Cost: 4001

So a lot better than running a workflow on a list, and a good bit better than a recursive workflow using a make changes to a thing action.

But still almost 4 times as much as making changes to a list of things, and 5 times slower.

3 Likes

Does ‘make a change to a list’ WU includes WUs for Do a search for of those 2000 items?

In many cases if someone is not scheduling API on list, then those 2000 items needs to be searched on make a change to a list.