有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我正在尝试使用Flow framework for java配置我的一个SWF活动,但我找不到任何关于StartClose超时是仅针对单个活动尝试还是针对该活动的所有重试尝试的文档

以下是我的活动的配置:

@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) 个答案

  1. # 1 楼答案

    StartToClose超时用于单个活动尝试。SWF后端本机不支持指数重试,目前作为决策器逻辑实现。如果您对here is指数重试AspectJ方面实现感兴趣

    回答您的问题:

    1. 是的,会的
    2. 没有