Size: a a a

Camunda BPM Group

2021 September 13

A

Artem in Camunda BPM Group
В таком запросе не будет "count of the finished instances and count of the ‘cleanable’ instances"
источник

DP

Dmitrii Pisarenko in Camunda BPM Group
Ответили. Это ошибка в документации.

Количество завершенных экземпляров процессов можно получить вот так getHistoryService().createHistoricProcessInstanceQuery().finished().count().

Я не знаю, что конкретно имеется в виду под "cleanable".
источник

A

Artem in Camunda BPM Group
Ок спасибо
источник

DP

Dmitrii Pisarenko in Camunda BPM Group
Можете попробовать получить количество cleanable экземпляров вот так:

        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
       final List<HistoricProcessInstance> finishedProcessInstances = processEngine.getHistoryService()
               .createHistoricProcessInstanceQuery()
               .finished()
               .list();

       final List<String> finishedProcessInstanceIds = finishedProcessInstances
               .stream()
               .map(pi -> pi.getId())
               .collect(Collectors.toList());

       final DelegateExecution execution = ...;

       final CleanableHistoricProcessInstanceReport cleanableHistoricProcessInstanceReport = execution.getProcessEngineServices().getHistoryService().createCleanableHistoricProcessInstanceReport().processDefinitionIdIn(finishedProcessInstanceIds.toArray(new String[0]));
       final long cleanableProcessInstanceCount = cleanableHistoricProcessInstanceReport.singleResult().getCleanableProcessInstanceCount();
       final long finishedProcessInstanceCount = cleanableHistoricProcessInstanceReport.singleResult().getFinishedProcessInstanceCount();
источник
2021 September 14

K

K in Camunda BPM Group
Can you please suggest how to implement rollback in camunda
источник

A

Artem in Camunda BPM Group
Camunda uses mybatis as persist layer, rollback already implemented, or u mean compensation events at processes?
источник

K

K in Camunda BPM Group
I have a bpmn where I'm doing a set of activities like creating orders and orchestrating them. When there is a failure, I need to provide an option to roll back previous requests in each leg.
источник

DK

Denis Kotov in Camunda BPM Group
источник
2021 September 15

K

K in Camunda BPM Group
Thanks I will check
источник
2021 September 16

DK

Dmitrii Kanaev in Camunda BPM Group
Всем привет! Ребят, случалась у кого-нибудь подобная проблема insert or update on table "act_ru_variable" violates foreign key constraint "act_fk_var_exe"?
Получается, камунда хочет сделать insert в таблицу act_ru_variable но падает на том, что в таблице act_ru_execution нет такого процесса. Я смотрю, в таблице act_ru_execution не так уж много процессов, относительно нашего общего трафика. Я так понимаю, они толи туда записываются по условию, толи удаляются от туда.
источник

OM

Oleg Marchenko in Camunda BPM Group
А вы переменные не пытаетесь проставить в завершённый процесс?
источник

DK

Dmitrii Kanaev in Camunda BPM Group
По идее нет. Переменная проставляется в делегате. Как мне кажется, если делегат вызывает, значит процесс еще бежит
источник

OM

Oleg Marchenko in Camunda BPM Group
Таблицы с префиксом act_ru_*  служат для хранения данных рантайма и если там нет этого execution, значит все уже завершилось и было перемещено в таблицы хранения истории (префикс act_hi_*)
источник

DK

Dmitrii Kanaev in Camunda BPM Group
О, интересно, я не знал это. Спасибо, щас покопаю дальше!
источник

OM

Oleg Marchenko in Camunda BPM Group
Если нет асинхронной работы до/после сервис таски
источник

ММ

Максим Монин... in Camunda BPM Group
Эта проблема обычно возникает когда процесс допустим вручную удалили или завершили, а какие то обработки ещё выполнялись, например external taskдолго временный. Тогда и выдаётся что процесса нет или завершён уже
источник

DK

Dmitrii Kanaev in Camunda BPM Group
Там вообще такая странная штука, если судить по логам - выполнился делегат (успешно, ошибок нет), и процесс видно по логам побежал дальше, выполнять следующие делегаты. Но история говорит о том, что на самом деле делегат ушел в ошибку boundaryError и терминировался. Я не понимаю, как тогда он побежал дальше выполнять делегаты. Асинхрона на этом куске нет. Тоесть  просто несколько делегатов подряд выполняются. И по логам так и есть.
источник

DK

Dmitrii Kanaev in Camunda BPM Group
А у камунды куда-нибудь сохраняется сообщение об ошибке из-за которого мы ушли в boundaryError
источник

A

Artem in Camunda BPM Group
В job_log нету?
источник

DK

Dmitrii Kanaev in Camunda BPM Group
так, щас поищу
источник