c# - dotnet 核心中的多个 API 调用
问题描述
我正在使用 dotnet core c#。在这里,我需要根据我发送电子邮件或 SMS 调用多个 API。PFB结构。
function SendEmailOrSMS(){
List user = new List;
callAPI1(userid) --> to get email id or phone number
callAPI2(response of API 1) --> to trigger sms
UpdateResponse() --> DB function
}
对于每个用户,我都必须调用此方法和 API 来触发 SMS 或电子邮件。现在对于 1000 个用户,需要 15 分钟。我需要为 350 万用户触发。
如果我使用 1000 个用户,则需要将近一个月的时间来触发电子邮件或 SMS,而我需要在一天内触发。
提前感谢您的帮助。
解决方案
API1 或 API2 是否公开批处理方法?如果是这样,您将不需要调用它n次,而只需调用一次(或多次,但仍不是n次)。
无论如何,这个处理可以在不同的线程中并行完成。这可以通过使用Parallel.ForEach()
方法来实现,也可以通过自己管理Task
s 来实现。(后者是一种更复杂的方法,但可以更可定制。)这样可以同时处理多个用户,因此处理时间会减少很多。
推荐阅读
- android - 如何动态加载像 Expo 客户端这样的应用程序
- c# - 无法将 TextBox 文本更改为包含两位小数
- python - 包含两个列表的字典
- java - 将 Instant 转换为 LocalDate 并返回
- google-sheets - 在 Google 表格上计算时间(无法正常工作) - 电话代理登录时间 v 通话时间
- terraform - 在根模块中使用 aws_vpc 数据源的 Terraform 鸡/蛋问题
- python - Python 3错误打印背景颜色问题
- mongodb - 使用 SpringBoot REST api 的多个 MongoDB 连接器
- javascript - 使用 javascript 更新字段类型
- c# - 使用 HtmlAgilityPack 进行 C# 网页抓取