Каденция регистрирует рабочие процессы и действия отдельно - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть сеть из нескольких машин, и я использую cadence go client.

Машина 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")

Служба с каденцией находится на другом компьютере.

Как это сделать с go клиент? Также регистр только сохраняет рабочий процесс / деятельность в памяти? Как я могу отправить их sh в службу каденции, чтобы другие машины также могли их найти.

1 Ответ

1 голос
/ 25 февраля 2020

В настоящее время регистрация является исключительно локальной для определенного рабочего процесса c. В будущем мы планируем добавить некую службу метаданных с каталогом типов операций и рабочих процессов.

Чтобы отключить рабочий процесс на компьютере 1, укажите WorkerOptions.DisableWorkflowWorker.

Чтобы отключить рабочий процесс на компьютере 2 укажите WorkerOptions.DisableActivityWorker.

Нет необходимости что-либо регистрировать на аппарате 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...