首页 > 解决方案 > 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,而我需要在一天内触发。

提前感谢您的帮助。

标签: c#apiemail.net-coresms

解决方案


API1 或 API2 是否公开批处理方法?如果是这样,您将不需要调用它n次,而只需调用一次(或多次,但仍不是n次)。

无论如何,这个处理可以在不同的线程中并行完成。这可以通过使用Parallel.ForEach()方法来实现,也可以通过自己管理Tasks 来实现。(后者是一种更复杂的方法,但可以更可定制。)这样可以同时处理多个用户,因此处理时间会减少很多。


推荐阅读