у меня есть рабочий процесс каденции с 3 действиями. Сценарий. первое действие завершено во время выполнения второго, рабочий процесс завершился неудачно после достижения предела повторных попыток. теперь проблема устранена. как я могу перезапустить неудачный рабочий процесс.
я прочитал этот вопрос связанный вопрос.
я хочу знать, как я могу использовать API сброса в java client sdk для его реализации.
cadence-dependence: группа компиляции: 'com.uber.cadence', имя: 'cadence-client', версия: '3.5.0'
спасибо за любую помощь.
Лучше всего использовать iWF для вашего проекта Cadence/Temporal:
Он обслуживает REST API для операций рабочего процесса . Вы можете использовать Postman/Curl для сброса рабочих процессов.
Он также имеет Java API для сброса.
Да, это еще один способ посмотреть на это. По сути, это упрощенный способ использования Cadence Temporal, но с той же мощностью.
внутри класса WorkflowServiceTChannel я нашел метод ResetWorkflowExecution. через него можно добиться сброса. код показывает как удар:
public void testReset (String workflowid, String runid, String Completeid) {
WorkflowClient workflowClient = WorkflowClient.newInstance(
новый WorkflowServiceTChannel(
ClientOptions.newBuilder().setHost("127.0.0.1").setPort(8080).setFeatureFlags(new FeatureFlags().setWorkflowExecutionAlreadyCompletedErrorEnabled(true)).build()),
WorkflowClientOptions.newBuilder().setDomain("domain-test").build());
Запрос ResetWorkflowExecutionRequest = новый ResetWorkflowExecutionRequest();
WorkflowExecution workflowExecution = new WorkflowExecution();
workflowExecution.setWorkflowId(workflowid);
workflowExecution.setRunId(runid);
request.setRequestId(UUID.randomUUID().toString());
request.setDomain("домен-тест");
request.setDecisionFinishEventId(Long.valueOf(completeid));
request.setWorkflowExecution(workflowExecution);
попробуй {
workflowClient.getService().ResetWorkflowExecution(запрос);
} поймать (TException e) {
e.printStackTrace();
}
}
Спасибо за ваш ответ. является ли iwf расширением каденции/времени?