dasha.ai是否支持多用户同时呼叫?如何配置多线程队列实现并发呼叫
dasha.ai并发呼叫相关问题解答
1. 多用户同时呼叫支持及官方上限
dasha.ai原生支持同时向多名用户发起呼叫,无需额外做底层适配。
官方没有统一的固定并发上限,具体配额和你的账号订阅套餐直接挂钩:
- 免费测试套餐默认最大并发呼叫数为5路
- 基础付费套餐默认最大并发呼叫数为50路
- 企业级套餐支持根据业务需求单独申请扩容,最高可支持数百路甚至更高量级的并发呼叫
你可以直接在自己的dasha.ai账号后台的配额管理页面,查看当前账号的实际可用并发上限。
2. 多用户同时呼叫实现方案
dasha.ai平台底层已经封装了并发调度能力,不需要你手动配置传统的多线程逻辑,按以下步骤操作即可实现多用户同时呼叫:
- 第一步:先确认当前账号的并发配额满足你的业务需求,避免因配额不足导致呼叫请求被拦截
- 第二步:编写业务代码时,将待呼叫的号码列表传入调度方法,直接通过异步并发调用即可,平台会自动按可用配额分配呼叫资源。Node.js环境示例代码如下:
const dasha = require("@dasha.ai/sdk"); async function batchCall() { // 部署你的dasha语音应用 const app = await dasha.deploy("./your-application-path"); // 待呼叫号码列表 const targetPhones = ["+8613xxxxxxxxx", "+8615xxxxxxxxx", "+8618xxxxxxxxx"]; // 批量发起呼叫,平台自动调度并发资源 const callResults = await Promise.all( targetPhones.map(phone => app.start({ phone })) ); // 呼叫结束后销毁应用实例释放资源 await app.dispose(); } batchCall();
- 第三步:如果需要自定义控制并发数,避免超出账号配额,可以在代码层增加简单的限流逻辑,比如使用
p-limit这类轻量限流工具,将单次最大并发数设置为不超过账号配额即可 - 第四步:你也可以直接在应用的
dashaapp.yaml配置文件中修改全局最大并发参数,示例配置如下:
application: name: outgoing-call-demo # 此处配置的数值不可超过账号的实际可用并发配额 maxConcurrent: 10
注意:如果出现并发呼叫请求失败的情况,优先检查账号并发配额是否已经用尽,无需额外开发复杂的多线程调度逻辑,平台底层已经完成了相关能力的封装。
内容的提问来源于stack exchange,提问作者Hrach
相关产品推荐
相关产品推荐

