DecisionTaskTimedOut до указанного времени ожидания

У меня есть случай, когда время ожидания решения через 5 секунд, когда время ожидания установлено на 10:

  17  2019-06-13T17:46:59Z  DecisionTaskScheduled     {TaskList:{Name:maxim-C02XD0AAJGH6:db09fd84-98bf-4546-a0d8-fb51e30c2b41},
                                                      StartToCloseTimeoutSeconds:10, Attempt:0}
  18  2019-06-13T17:47:04Z  DecisionTaskTimedOut      {ScheduledEventId:17,
                                                      StartedEventId:0,
                                                      TimeoutType:SCHEDULE_TO_START}
10:49 AM

Он использует сервис Cadence, работающий в локальном докере, и я могу надежно воспроизвести его.

1 ответ

Тайм-аут 5 секунд связан с функцией Cadence Sticky Execution. Прикрепленное выполнение включено по умолчанию для Cadence Worker, что позволяет кэшировать состояние рабочего процесса на рабочем месте после ответа с решениями. Это позволяет серверу Cadence напрямую отправлять новые задачи принятия решений одному и тому же исполнителю, что позволяет повторно использовать кэшированное состояние и принимать новые решения без воспроизведения всей истории выполнения.

Решение SCHEDULE_TO_START Тайм- аут устанавливается, чтобы разрешить отправку решения другому исполнителю, когда он перезапускается, и в прикрепленном списке задач нет опроса для выполнения рабочего процесса. Это приводит к тому, что сервер Cadence очищает липкость для этого выполнения, и решение отправляется в исходный список задач, чтобы его мог подобрать любой другой рабочий.

// Optional: Sticky schedule to start timeout.
// default: 5s
// The resolution is seconds. See details about StickyExecution on the comments for DisableStickyExecution.
StickyScheduleToStartTimeout time.Duration
Другие вопросы по тегам