У меня есть случай, когда время ожидания решения истекает через 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, работающую в локальном докере, и я могу надежно ее воспроизвести.
Тайм-аут 5 с связан с функцией Cadence Sticky Execution. Sticky Execution включен по умолчанию в Cadence Worker, что позволяет кэшировать состояние рабочего процесса в 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