如何在异步任务 C# 中限制每秒请求数

团DPH

我正在编写一个与 Azure Cosmos DB 交互的应用程序。我需要在会话中向 CosmosDB 提交 30,000 条记录。因为我使用了 .NET Core,所以我不能使用 BulkInsert dll。所以,我使用 Foreach 循环插入到 CosmosDB。但是我看到每秒请求太多并且它使 CosmosDB 的 RU 限制过载。

foreach(item in listNeedInsert){
      await RequestInsertToCosmosDB(item);
}

当请求数达到 100 时,我想暂停 foreach 循环。完成 100 个请求后。foreach 将继续。

肖恩

您可以对列表进行分区并等待结果:

var tasks = new List<Task>();

foreach(item in listNeedInsert)
{
    var task = RequestInsertToCosmosDB(item);
    tasks.Add(task);

    if(tasks.Count == 100)
    {
        await Task.WhenAll(tasks);
        tasks.Clear();
    }
}

// Wait for anything left to finish
await Task.WhenAll(tasks);

每次运行 100 个任务时,代码都会等待它们全部完成,然后再执行最后一批。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Linux

如何在Linux中获得Apache的“每秒请求数”?

来自分类Dev

限制编号 Dns.BeginGetHostEntry方法每秒生成的请求数或使用任务并行库(TPL)

来自分类Dev

如何在Windows 10中以C#中的异步方法从返回的任务中提取数据

来自分类Dev

如何在Flutter中的异步任务中启动异步任务?

来自分类Dev

如何在 Django 中执行异步任务?

来自分类Dev

如何在 JavaScript 中创建异步任务

来自分类Dev

每秒HTTPS请求数限制

来自分类Dev

如何在C#Winforms应用程序中取消长时间运行的异步任务的执行

来自分类Dev

如何在异步C#任务中使用yield

来自分类Dev

如何在C中构造和ARP请求数据包

来自分类Dev

如何在异步任务中推送到列表并仅在异步任务完成后返回列表?

来自分类Dev

如何计算Django应用每秒的最大请求数?

来自分类Dev

如何超过IIS的最大请求数限制?

来自分类Dev

如何在 Quarkus 中运行异步数据库任务

来自分类Dev

如何在 Django(异步编程)中并行执行任务?

来自分类Dev

如何在GUI标签中显示异步任务的结果?

来自分类Dev

如何在F#中获取异步任务的结果

来自分类Dev

如何在IOS中处理这种异步任务?

来自分类Dev

如何在线程或任务中执行异步操作

来自分类Dev

以后如何在Python中运行异步任务?

来自分类Dev

如何在Android中获取异步任务的结果

来自分类Dev

如何在异步任务中从 onpostexecute 开始新活动

来自分类Dev

如何在异步代码中处理 cpu 绑定任务

来自分类Dev

使用 razor(C#) 和 html 从 POST 请求请求数据后,如何在 <p> 元素中显示变量

来自分类Dev

防潮-如何限制每秒2个请求

来自分类Dev

如何查找和打印每 1 分钟收到的 API 请求的吞吐量。在 Spring Boot 中编写了此 API 请求(每秒请求数,分钟)

来自分类Dev

如何限制多个异步任务?

来自分类Dev

如何限制Node.JS中每个IP的请求数量?

来自分类Dev

采访任务:使用令牌限制并发请求数

Related 相关文章

  1. 1

    如何在Linux中获得Apache的“每秒请求数”?

  2. 2

    限制编号 Dns.BeginGetHostEntry方法每秒生成的请求数或使用任务并行库(TPL)

  3. 3

    如何在Windows 10中以C#中的异步方法从返回的任务中提取数据

  4. 4

    如何在Flutter中的异步任务中启动异步任务?

  5. 5

    如何在 Django 中执行异步任务?

  6. 6

    如何在 JavaScript 中创建异步任务

  7. 7

    每秒HTTPS请求数限制

  8. 8

    如何在C#Winforms应用程序中取消长时间运行的异步任务的执行

  9. 9

    如何在异步C#任务中使用yield

  10. 10

    如何在C中构造和ARP请求数据包

  11. 11

    如何在异步任务中推送到列表并仅在异步任务完成后返回列表?

  12. 12

    如何计算Django应用每秒的最大请求数?

  13. 13

    如何超过IIS的最大请求数限制?

  14. 14

    如何在 Quarkus 中运行异步数据库任务

  15. 15

    如何在 Django(异步编程)中并行执行任务?

  16. 16

    如何在GUI标签中显示异步任务的结果?

  17. 17

    如何在F#中获取异步任务的结果

  18. 18

    如何在IOS中处理这种异步任务?

  19. 19

    如何在线程或任务中执行异步操作

  20. 20

    以后如何在Python中运行异步任务?

  21. 21

    如何在Android中获取异步任务的结果

  22. 22

    如何在异步任务中从 onpostexecute 开始新活动

  23. 23

    如何在异步代码中处理 cpu 绑定任务

  24. 24

    使用 razor(C#) 和 html 从 POST 请求请求数据后,如何在 <p> 元素中显示变量

  25. 25

    防潮-如何限制每秒2个请求

  26. 26

    如何查找和打印每 1 分钟收到的 API 请求的吞吐量。在 Spring Boot 中编写了此 API 请求(每秒请求数,分钟)

  27. 27

    如何限制多个异步任务?

  28. 28

    如何限制Node.JS中每个IP的请求数量?

  29. 29

    采访任务:使用令牌限制并发请求数

热门标签

归档