【发布时间】:2018-06-14 14:03:26
【问题描述】:
我有一个持久函数,其输入由先前的活动函数确定 对于每个活动功能,我有多个等待任务,其中每个任务都依赖于前一个任务的输出。
这是我的结构如下:
协调器
[FunctionName("MessageController")]
public static async void Run(
[OrchestrationTrigger] DurableOrchestrationContext context,
TraceWriter log)
{
if (!context.IsReplaying) log.Warning("MessageController started");
var Input1= context.CallActivityAsync<ResultMessage>("Function_1", new InputMessage());
var Input2= context.CallActivityAsync<ResultMessage>("Function_2", Input1);
var Input3= context.CallActivityAsync<ResultMessage>("Function_2", Input2);
}
活动功能
[FunctionName("Function_1")]
public static ResultMessage Run(
[ActivityTrigger] DurableActivityContext activityContext,
TraceWriter log)
{
//Awaitable task
var taskOutput= await DoSomething();
//Awaitable task
var token = await DoAnotherThing(taskOutput);
}
我已经对此进行了测试,一切正常。但我想知道这是否是好习惯? 对于持久函数,在活动函数中有等待任务是否正常?
【问题讨论】:
标签: azure async-await azure-functions azure-durable-functions