我有多台计算机组成的网络,并且正在使用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客户端?寄存器也仅将工作流程/活动保存在内存中吗?如何将它们推送到节奏服务,以便其他计算机也可以找到它们。
答案 0 :(得分:2)
当前,注册完全是针对特定工作人员的本地。我们计划将来在活动和工作流类型的目录中添加某种元数据服务。
要在计算机1上禁用工作流工作者,请指定WorkerOptions.DisableWorkflowWorker
。
要在计算机2上禁用活动工作者,请指定WorkerOptions.DisableActivityWorker
。
无需在计算机3上注册任何内容。