活动超时

活动超时用于限制活动执行与排队时间。官方建议根据业务 SLO 设计超时, 再配合重试策略控制总耗时。

常用超时类型

StartToCloseTimeout
单次活动尝试从开始到结束的最长时间。大多数场景建议至少配置该值。
ScheduleToCloseTimeout
从调度到最终完成(含重试)的总时间上限,用于限制整体重试预算。
ScheduleToStartTimeout
任务从入队到被 Worker 拉取的最大等待时间,常用于发现队列拥塞。
HeartbeatTimeout
长运行活动必须定期心跳,否则会超时并触发重试或失败。

配置示例(Go)

ActivityOptions.goGo
ao := workflow.ActivityOptions{
    StartToCloseTimeout:    20 * time.Second,
    ScheduleToCloseTimeout: 2 * time.Minute,
    ScheduleToStartTimeout: 15 * time.Second,
    HeartbeatTimeout:       10 * time.Second,
}
ctx = workflow.WithActivityOptions(ctx, ao)

官方参考