Javascript API SDK: How to call multiple actors simultaneously?

I have this code which works fine to call my custom actor a single time: const run = await client.actor("xyz").call(input); But I want to run multiple Actors simultaneously, like this:
for (let input of inputs) {
const run = await client.actor("xyz").call(input);
}
for (let input of inputs) {
const run = await client.actor("xyz").call(input);
}
But obviously this doesn't work because each actor has to finish before the code initiates another actor. How do i do a synchronous call like this so I can trigger multiple actors? My data is all collected via webhook when the actor finishes, so I don't need wait for the run to finish in this codebase.
2 Replies
fair-rose
fair-rose13mo ago
there is waitSecs option: https://docs.apify.com/api/client/js/reference/interface/ActorCallOptions#waitSecs You can set it to 0, if the number of calls is not that high (you can reach api call limits per sec). Otherwise set 2-3 secs. Should be good.
like-gold
like-goldOP13mo ago
Thanks! Would this work?
for (let input of inputs) {
const run = await client.actor("xyz").call(input, {waitSecs:3});
}
for (let input of inputs) {
const run = await client.actor("xyz").call(input, {waitSecs:3});
}

Did you find this page helpful?