TEST DONE: Power of the lists

Good morning,
today I did a test (on pc, with web app):

250 users in the DB.
I created a “custom list” in which I only displayed the user’s email and an expiry timer (set to 1 second) to which I connected two Actions:

  • Create a record in my “Notifications” collection
  • Send a Push notification to the user.

Also outside the list I added another timer to expire (set to 10 seconds) which should make you go back to the previous page when it expires.

Results:

  • The list without any linked actions, shows all 250 users, immediately. (GOOD)

  • The list with the two linked actions (described above) is blocked at 150 users, the timer for the first 150 users is concluded and notifications are sent correctly and records are created.
    For the remaining 100 users, the page and also the general timer (outside the list) seem to fizzle.

The test cannot be considered passed positively.

Why does the list only manage the first 150 records positively? and the rest not?

It is therefore not possible to create automatic batches with actions to create and send notifications (example) to our users … Will we be able to manage only 150 Users ?? This is not good!!!

Do you have any advice? I wanted to create a batch that would send automatic (unscheduled) notifications to many users.

It will be impossible even to create massive updates with these limitations! I have redone the test several times, and it seems that sometimes everything freezes at 150, sometimes (with only one action) more or less!

In the image below you will see the timers in the list ended, up to the 150th user and the page freezes. The general timer will no longer run forward.

Cheers

2 Likes

Hi @miticobeppe,

In my opinion, you’re trying to use instruments which are not suited to achieve such goals.

  1. Countdown timer is run in the context of user device (app / browser). It was not designed to run in 100s of instances in a list, this “workaround” is kind of unexpected.
    As timer is run on user device (in the form of JavaScript program), simultaneous execution of 100s of its instances causes heavy load spike on clients’ device (browser in your case). As far as I know, browsers also are not designed to sustain such spikes in a load, as they are interpreting JavaScript.
    As a result, your browser hangs.

  2. From what you’ve wrote: you’re trying to execute 250 Push Notifications in one second. In other words, you’re sending 250 simultaneous individual requests to Adalo Push subsystem to send pushes to 250 users. In my opinion, this is not a good practice. For example, if you work with Push notifications using Adalo API, you will have rate limit of around 4-5 requests per second (not 250). Most of other APIs use the same limits to protect against denial-of-service attacks.

So in my personal opinion the approach you’re using is not correct.

As for your task - there are specific capabilities inside Adalo which allow to send Pushes to a group of users. You can have M:1 or M:M relationship of Users to some collection, and then send the Pushes using this relationships.
For example, here are two videos describing sample app with sending pushes to a group of users:

You can also apply additional filters on the groups as well.
If you’d like to send fully individualized notifications to 100s of users, then I’d suggest using external services for that.

Best regards, Victor.

3 Likes

Thanks @Victor for your answer, I use just like you the same methods to manage notifications in the DB, but in this case for a paid service, I need to send hundreds of notifications to my users.

But we can do the same thing if I wanted to massively modify a collection, to implement a new data. Internally Adalo cannot manage hundreds of Instances for a batch update.

How can we do batch updates (ignoring push notifications), for example to make an update or a create?

Ok for push notifications, I could use Zapier, maybe it’s better for maximum send.

But to make an massiva update on my data? How can it be done?

Hi @miticobeppe,

Just to clarify: if you have a group of users, and you can use relationships - you can send Push notifications to this group via Adalo without any countdown timer.
Moreover, you can even send Push notifications to All users, and this list could be filtered:

At the moment Adalo doesn’t have built-in method of data batch processing.
For small-scale updates, countdown timer could be used. For large-scale batch updates, one can use external services which work with Adalo collections via API. For example, I’m using Integromat for this purposes (keeping in mind API rate calls limitations).

Best regards, Victor.

4 Likes

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.