c# - 从数据库中的数据运行大量活动函数
问题描述
我们有一个数据库,需要计算大约 400k 个元素。下面显示了一个协调器函数的示例。
[FunctionName("Crawl")]
public static async Task<List<string>> RunOrchestrator(
[OrchestrationTrigger] DurableOrchestrationContext context)
{
if (!context.IsReplaying)
{
}
WriteLine("In orchistration");
var outputs = new List<string>();
var tasks = new Task<string>[3];
var retryOptions = new RetryOptions(
firstRetryInterval: TimeSpan.FromSeconds(60),
maxNumberOfAttempts: 3);
// Replace "hello" with the name of your Durable Activity Function.
tasks[0] = context.CallActivityWithRetryAsync<string>("Crawl_Hello",retryOptions, "Tokyo");
tasks[1] = context.CallActivityWithRetryAsync<string>("Crawl_Hello", retryOptions, "Seattle");
tasks[2] = context.CallActivityWithRetryAsync<string>("Crawl_Hello",retryOptions, "London");
await Task.WhenAll(tasks);
return outputs;
}
每次调用活动时,都会调用编排函数。但是我不想每次调用活动时都从数据库中获取 400k 项。只需在 if 语句中添加所有活动代码,或者这里的正确方法是什么?我看不到它与 WaitAll 函数一起使用。
解决方案
推荐阅读
- html - 鼠标悬停会使顶部栏中的文本和图标从网站上消失
- npm - npm WARN eslint-plugin-vue@6.2.2 需要 eslint@^5.0.0 的 peer || ^6.0.0 但未安装
- android - Firestore 规则 - 查询文档字段而不暴露整个集合
- c# - 将对象移动到其面对的方向给定的距离c#
- python-sphinx - 从标签和参考自动生成索引
- php - 如何在 WooCommerce 管理订单列表中的新列中添加“Local Pickup Plus 取货日期”
- docker - Drone - 使用drone.yml 使用自定义日期时间字符串格式命名 docker 图像标签
- java - Serenity 测试未使用 Serenity Parameterized Runner 运行
- java - 启动/停止服务后 Activity 中的本机崩溃
- excel - 传递给 Excel 的用于过滤的日期变量未正确激活