首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >持久函数-活动函数中的可访问任务

持久函数-活动函数中的可访问任务
EN

Stack Overflow用户
提问于 2018-06-14 05:56:04
回答 1查看 1.7K关注 0票数 3

我有一个持久的函数,它的输入由前一个活动函数决定,对于每个活动函数,我有多个可接受的任务,其中每个任务依赖于上一个任务的输出。

我的结构如下:

策划人

代码语言:javascript
复制
[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);

}

活动函数

代码语言:javascript
复制
[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);
}

我已经测试过了,一切都很好。但我想知道这是否是个好做法?在活动函数中具有持久功能的任务正常吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-14 06:03:26

是的,那很好。事实上,只要他们在合理的时间内完成(在消费计划上少于5分钟),你几乎可以在活动功能中做任何你喜欢的事情。您可以执行异步调用、切换线程和执行非确定性操作。

约束条件只适用于协调器函数。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50850513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档