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