我怎样才能多线程 dasha.ai 排队同时呼叫一些用户?
How can I multithread dasha.ai queue for calling some users simultaneously?
是否可以在dasha.ai中同时呼叫多个用户?同时调用的最大数量以及我如何实现它
实现了同时调用
同时通话限制
实例限制
实例限制由您在 sdk 应用程序中设置。
必须通过application.start方法中的参数concurrency初始化(默认值-1)
await application.start({ concurrency: 10 });
组数限制
所有用户都有一个 默认 组,该组没有限制(理论上是无限的)
但是,如果您使用的是自定义组 - 您应该将 max-concurrency 设置为其中的多个同时调用
您可以通过 dasha cli
设置和更新 max-concurrency
创建组示例
dasha group create group_name --max-concurrency=50
正在更新群组
dasha group update group_name --max-concurrency=50
您的应用程序(实例)将使用哪个组由部署方法定义:
dasha.deploy("app", { groupName: "Default" });
客户限制
此限制只能按需更改(您不能手动更改它,至少现在不能)
申请
您需要指定如何通过 Conversation Queue 处理呼叫:对于可以启动的呼叫,您必须指定 ready event
application.queue.on("ready", async (key, conversation) => {
conversation.input = getInput(key); // getInput must return an object that consist of input variables for a call
const result = await conversation.execute(); // start conversation/call
});
每次调用异步启动此事件
要进行同时呼叫 - 将所需数量的呼叫推送到队列中(例如,将一个呼叫添加到队列中,必须在一小时内开始,否则将超时):
application.queue.push("some_unique_key", {
after: new Date(Date.now()),
before: new Date(Date.now() + 60 * 60 * 1000)
});
虽然您有免费限制和队列中准备开始的呼叫 - 它们将尽快处理
是否可以在dasha.ai中同时呼叫多个用户?同时调用的最大数量以及我如何实现它
同时通话限制
实例限制
实例限制由您在 sdk 应用程序中设置。
必须通过application.start方法中的参数concurrency初始化(默认值-1)await application.start({ concurrency: 10 });
组数限制
所有用户都有一个 默认 组,该组没有限制(理论上是无限的)
但是,如果您使用的是自定义组 - 您应该将 max-concurrency 设置为其中的多个同时调用
您可以通过 dasha cli
设置和更新 max-concurrency 创建组示例dasha group create group_name --max-concurrency=50
正在更新群组
dasha group update group_name --max-concurrency=50
您的应用程序(实例)将使用哪个组由部署方法定义:
dasha.deploy("app", { groupName: "Default" });
客户限制
此限制只能按需更改(您不能手动更改它,至少现在不能)
申请
您需要指定如何通过 Conversation Queue 处理呼叫:对于可以启动的呼叫,您必须指定 ready event
application.queue.on("ready", async (key, conversation) => {
conversation.input = getInput(key); // getInput must return an object that consist of input variables for a call
const result = await conversation.execute(); // start conversation/call
});
每次调用异步启动此事件
要进行同时呼叫 - 将所需数量的呼叫推送到队列中(例如,将一个呼叫添加到队列中,必须在一小时内开始,否则将超时):
application.queue.push("some_unique_key", {
after: new Date(Date.now()),
before: new Date(Date.now() + 60 * 60 * 1000)
});
虽然您有免费限制和队列中准备开始的呼叫 - 它们将尽快处理