AWS SWF Flow是否将活动开始关闭超时包括活动重试?

时间:2015-03-30 19:19:01

标签: java amazon-web-services registration amazon-swf

我正在尝试使用Flow框架为java配置我的一个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秒),如何让活动失败?

1 个答案:

答案 0 :(得分:4)

StartToClose超时用于单个活动尝试。 SWF后端本身不支持指数重试,目前将其作为决策逻辑实现。如果您对ExponentialRetry AspectJ方面实现感到好奇here is

回答你的问题:

  1. 是的。
  2. 没有