Как сбросить рабочий процесс каденции с помощью клиентского SDK?

у меня есть рабочий процесс каденции с 3 действиями. Сценарий. первое действие завершено во время выполнения второго, рабочий процесс завершился неудачно после достижения предела повторных попыток. теперь проблема устранена. как я могу перезапустить неудачный рабочий процесс.

я прочитал этот вопрос связанный вопрос.

я хочу знать, как я могу использовать API сброса в java client sdk для его реализации.

cadence-dependence: группа компиляции: 'com.uber.cadence', имя: 'cadence-client', версия: '3.5.0'

спасибо за любую помощь.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
84
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Лучше всего использовать iWF для вашего проекта Cadence/Temporal:

Он обслуживает REST API для операций рабочего процесса . Вы можете использовать Postman/Curl для сброса рабочих процессов.

Он также имеет Java API для сброса.

Спасибо за ваш ответ. является ли iwf расширением каденции/времени?

jackxu 16.10.2022 16:05

Да, это еще один способ посмотреть на это. По сути, это упрощенный способ использования Cadence Temporal, но с той же мощностью.

Long Quanzheng 17.10.2022 17:06
Ответ принят как подходящий

внутри класса 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();
}
}

Другие вопросы по теме