我正在尝试使用 Java 的 Flow 框架配置我的 SWF 活动之一,但我找不到任何有关 StartToClose 超时是仅针对单个活动尝试还是针对该活动的所有重试尝试的文档。
这是我的活动的配置:
@Activity(name = "WaitForExternalTaskToFinish", version = "1.0")
@ActivityRegistrationOptions(
defaultTaskScheduleToStartTimeoutSeconds = 60,
defaultTaskStartToCloseTimeoutSeconds = 60)
@ExponentialRetry(
initialRetryIntervalSeconds = 60,
maximumRetryIntervalSeconds = 300,
retryExpirationSeconds = 7200,
exceptionsToRetry = IllegalStateException.class)
boolean waitForExternalTaskToFinish(long externalTaskId);
我试图让这个活动预计需要很短的执行时间(例如 5 秒),但如果活动失败,则继续重试活动 2 小时。
- 这个配置会做我想要的吗?
- 我是否需要将 defaultTaskStartToCloseTimeoutSeconds 更改为 7200?
- 如果我需要将 defaultTaskStartToCloseTimeoutSeconds 更改为 7200,那么如果单个活动尝试的执行“太长”(例如 100 秒),我该如何让活动失败?