我怎样才能多线程 dasha.ai 排队同时呼叫一些用户?

How can I multithread dasha.ai queue for calling some users simultaneously?

是否可以在dasha.ai中同时呼叫多个用户?同时调用的最大数量以及我如何实现它

已通过 Conversation Queue

实现了同时调用

同时通话限制

  1. 实例限制
    实例限制由您在 sdk 应用程序中设置。
    必须通过application.start方法中的参数concurrency初始化(默认值-1)

     await application.start({ concurrency: 10 });
    
  2. 组数限制
    所有用户都有一个 默认 组,该组没有限制(理论上是无限的)
    但是,如果您使用的是自定义组 - 您应该将 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" }); 
    
  3. 客户限制
    此限制只能按需更改(您不能手动更改它,至少现在不能)

申请

您需要指定如何通过 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)
});

虽然您有免费限制和队列中准备开始的呼叫 - 它们将尽快处理