Пример опции повтора в Cadence для java клиента - PullRequest
1 голос
/ 01 августа 2020

Я ищу пример варианта повторной попытки для каденции в java, например, я пытаюсь выполнить нижеприведенный фрагмент кода, но кажется, что действие не повторяется

@ActivityMethod(scheduleToCloseTimeoutSeconds = 30)
@MethodRetry(maximumAttempts = 2, initialIntervalSeconds = 1, expirationSeconds = 30, maximumIntervalSeconds = 30)
String getGreetingContentOverTheWeb(URL url) throws IOException;

для указанного выше действия Я ожидая, что в случае сбоя следует автоматически повторить попытку, ниже я называю это

@Override
public String getGreeting(String name) {
    // This is a blocking call that returns only after the activity has completed.
    try {
        String content = activities.getGreetingContentOverTheWeb(new URL("http://localhost:3000/import-map/books"));
        return activities.composeGreeting(content, name);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return activities.composeGreeting("Hello", name);
    
}

Пожалуйста, дайте мне знать, если я делаю что-то здесь неправильно,

Ниже приведен снимок из веб-интерфейса

введите описание изображения здесь

1 Ответ

1 голос
/ 01 августа 2020

Судя по истории событий, действие повторяется. Я определил это, посмотрев на поле ActivityTaskStarted.attempt. Число там равно количеству повторных попыток. Таким образом, действие выполнялось ровно два раза в соответствии с заданной политикой повторных попыток. temporal.io Форк Cadence, поддерживаемый моей командой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...