How long can be Long-running processes in Camunda 8 ?
Is it possible to use long running process for checking incoming Email with auto wake up every 1 minutes ?
If Email is detected, process will read it and do something.
Another token always goes to the Timer intermediate catch event, wait for 1 minutes and return to check Email again.
My question is: how long (how many cycles) this process can work in Camunda 8.5 without problems ?
Probably, process instance collect some data during it’s life and this data can overflow Zeebe internal storage in 1 year or late ?
I wouldn’t do it this way, since variables etc won’t be retired from the DB.
Instead start a process once a minute, check for email, if email, do something, otherwise end. You can put a short TTL on the process variables, and the system would clean up the data frequently.
Thank you, GotnOGuts, for your answer. But this is a simple example to show the idea of my question. The long running cycle can be inside of complex diagram with “Always true” condition witch can be true for a long time.
I want to understand how long such process can work ?
What’s going on inside Zeebe and how to monitor “health” of the process instance to prevent it crash or hung up ?
I still wouldn’t do it that way, since you don’t want to have a lot of excess variables and tasks waiting around.
I would model it as two different processes (which they really are)
Process 1:
(Start) → (Subpress 1) → (Intermediate Catch Message) → (Subprocess 2) → (End)
Process 2:
(Timer Start / Every Minute) → (Check Email) → (Send Message to Process 1) → (End)
The “Health” checks are about the tasks themselves, not the process. If a task fails enough times, then it will throw an incident, which an operator will need to review/correct.
Hello, GotnOGuts ! Thank you for trying to help me !
In my diagram “Subprocess 02” can be executed many times while “Almost always true” condition will be true. In your example it will be executed only one time, I think. Because Process 1 has only 1 token on “Intermediate Catch Message”.
But my question was about Zeebe and Long running processes. Maybe it is some info in the internet about this, I can read ?
I want to understand: how does it works and what is the restrictions for complex Long running processes with many cycles inside.
I think you need to break down “long running processes” because that means different things to different people.
A process that starts, and waits a long time for an approval to proceed is a long-running process. This type of process will not have any impact on Zeebe - in fact, it’s what it’s designed to do.
A process that forks continuously without end (adding more and more activities) will eventually fill up the database as there’s nothing to flush the data of this process out of the database (this only happens when the process is complete). This is why this type of design is a bad idea.
Ok, thanks ! It will be a solution.
But if you could recommend some info/articles about working Zeebe brokers (the principals and config), I would be grateful.