Conditional Intermediate Event blocks process pipeline
Collapse
X
-
Maybe your advanced pack is too old. I recommend to increase the value manually in the file. -
I have cheked it: we have not modified file crm/application/Espo/Modules/Advanced/Core/Bpmn/BpmnManager.php and it has a default linePHP Code:PROCEED_PENDING_MAX_SIZE = 40;
Leave a comment:
-
It's set to 20000 in BpmnManager.php. You said that you have 40. I assumed that you changed it manually.Leave a comment:
-
How can I check current PROCEED_PENDING_MAX_SIZE and increase it? Where is this configuration stored?Leave a comment:
-
PROCEED_PENDING_MAX_SIZE is supposed to be very big. 10,000 is OK. It also handles other event types. In future I think I will add the ability to split this queue into parallel sub-processed. But it only matters if you have thousands of active processes in the same time.
1. Recommend to setup daemon https://docs.espocrm.com/administration/jobs/#daemon
2. In parallel processes: https://docs.espocrm.com/administrat...llel-processesLeave a comment:
-
By overloads I mean that Conditional Intermediate Event (Catching) accumulate in pending flows in such a great number so that they exceed the number of processes which are processed every minute (we currently have PROCEED_PENDING_MAX_SIZE = 40 in BpmnManager.php).
How can I setup jobs to run in parallel processes? Can i do it with Conditional Intermediate Event (Catching) separetely?Last edited by mazhid_kat; 06-25-2020, 01:34 PM. -
Yes, Every minute (can be configured more often). What do you mean by overloads. It gets tiny amount of resources and time to check. It's a trade off. Making check after each save would take even more resources or require to install additional extensions on the server, that can be a hurdle for customers.Last edited by yuri; 06-25-2020, 11:55 AM. -
Exactly. But a particular Conditional Intermediate Event (Catching) is processed every minute to check if conditions are met. Is it correct? If so, it overloads the processes pipeline -
Then, how is Conditional Intermediate Event (Catching) meant to be processed? It ends up to processed in Scheduled Jobs -> Process Pending Flows -
Hi,
It's not supposed to happen that one event blocks execution of other processes. Might by something failed and an exception is not caught for some reason.
Please check data/logs.
entity\isAttributeChanged(ATTRIBUTE) is not working in BPM. It will return false. It does work in workflows.Leave a comment:
-
Conditional Intermediate Event blocks process pipeline
Hi everebody!
We have recently added Conditional Intermediate Event (Catching) to one of our BPM Flowcharts. You can check it on the screenshot below.
The feature of our processes is that we may have to wait for Conditional Intermediate Event (Catching) to happen for 10-20-30 days. The thing is: processes with this event have vastly accumulated in our Scheduled Jobs -> Process Pending Flows pipeline. As far as Conditional Intermediate Event (Catching) is processed every minute, this kind of event occupies the entire pipeline with all other processes being stuck behind.
Is it assumed to be this way and processes Conditional Intermediate Event (Catching) every minute with all other processes? Or did we miss something in the documentation?
Maybe the problem is with our conditions inside Conditional Intermediate Event (Catching), i.e. there is no 'Changed' filter, so it gets triggered every minute, while it is needed to work only if a particular field is changed. But it is not present in the dropdown. Will function entity\isAttributeChanged(ATTRIBUTE) solve the problem? So Conditional Intermediate Event (Catching) gets triggered only when necessary and not every minute
Tags: None
Leave a comment: