登录
首页 >  Golang >  Go问答

注册 Cadence 工作流程和活动

来源:stackoverflow

时间:2024-03-14 18:30:28 332浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《注册 Cadence 工作流程和活动》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

我有一个由多台机器组成的网络,并且我正在使用 cadence go 客户端。

机器 1 需要注册活动。

// machine 1 registering activities
func sampleactivity(ctx context.context) (string, error) {
    logger := activity.getlogger(ctx)
    logger.info("separate machines are handling this")
    return "activity machine succeeded"
}
func main() {
     activity.registerwithoptions(sampleactivity, registeroptions{name: "machine1activity"})
}

机器 2 需要注册工作流程。

// machine 2 registering workflows
func sample_workflow(ctx workflow.context, name string) (string, error) {
     ...
     err := workflow.executeactivity(ctx, "machine1activity")
     ...
}

func main() {
    workflow.registerwithoptions(sampleworkflow, "machine2workflow")
}

机器 3 需要启动才能启动工作流程。

// Machine 3 starting the workflow

// Prepare options and ctx

client.StartWorkflow(ctx, options, "Machine2Workflow", "Machine1Activity")

面向 cadence 的服务位于另一台计算机上。

如何使用 go 客户端执行此操作?另外,寄存器是否仅将工作流程/活动保存在内存中?如何将它们推送到 cadence 服务,以便其他机器也可以找到它们。


解决方案


目前注册纯粹是特定工作进程的本地注册。我们计划将来添加某种带有活动目录和工作流类型的元数据服务。

要在计算机 1 上禁用工作流工作线程,请指定 WorkerOptions.DisableWorkflowWorker

要禁用计算机 2 上的活动工作线程,请指定 WorkerOptions.DisableActivityWorker

不需要在机器3上注册任何东西。

今天关于《注册 Cadence 工作流程和活动》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>