首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从`context.Context`获得`workflow.Context`?

如何从`context.Context`获得`workflow.Context`?
EN

Stack Overflow用户
提问于 2021-04-20 22:30:45
回答 1查看 725关注 0票数 1

我正在实现一个Cadence,它需要用context.Context参数调用函数。我该如何从context.Context获得workflow.Context呢?这只是ctx.(*context.Context)的事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-20 22:41:35

这不是context.Context

您应该永远不要编写任何使用context.Context的工作流代码。所有需要context.Context的调用都应该在工作流活动或本地活动中编写,以实现确定性。

换句话说,activities/childWF/Signal/etc.工作流代码只应包含用于编排/管理其他工作流实体(如)的逻辑

workflow.Context是工作人员在工作流执行过程中传递工作流运行时信息的一种特殊数据结构.例如,workflowID和runID。它恰巧调用了Context,仅仅因为这个看起来与Golang风格非常相似。除此之外,它与context.Context没有直接关系。

在Java中,没有workflow.Context,工作人员通过这些数据的方式是通过ThreadLocal

如果您真的想将一些KV数据从外部传递到工作流代码,可以使用上下文传播:https://github.com/uber-common/cadence-samples/tree/master/cmd/samples/recipes/ctxpropagation

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

https://stackoverflow.com/questions/67187090

复制
相关文章

相似问题

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