Cadence分别注册工作流程和活动

时间:2020-02-25 16:28:37

标签: go workflow cadence-workflow

我有多台计算机组成的网络,并且正在使用cadence go客户端。

机器1需要注册活动。

import type { SomeThing } from "./some-module.js";

export type { SomeThing };

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

// 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"})
}

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

// 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")
}

基于节奏的服务在另一台计算机上。

我该如何使用go客户端?寄存器也仅将工作流程/活动保存在内存中吗?如何将它们推送到节奏服务,以便其他计算机也可以找到它们。

1 个答案:

答案 0 :(得分:2)

当前,注册完全是针对特定工作人员的本地。我们计划将来在活动和工作流类型的目录中添加某种元数据服务。

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

要在计算机2上禁用活动工作者,请指定WorkerOptions.DisableActivityWorker

无需在计算机3上注册任何内容。

相关问题