I am using BPMN 2.0 which contains start milestone - external task A - external task b - end milestone step
external task A, B both calls MS in the network to align with implemenation
Question to Experts - To debug and set up monitoring in background
below tables are inserted via the Cammunda engine. i dont see any record in below tables. Can you pls help?
act_ru_ext_task = stores information about available ext tasks;
act_ru_job = contains information about internal and external task jobs, updates when the external task is completed;
act_ru_variable = if the external task manipulates variables, this table will also be updated.
act_ru_execution = if an external task affects the process flow, it can also be updated.
In addition to these, the history and metrics tables (_hi_ & act_ru_meter_log)
Could you please share your model?
Did you start any instances of this process model? Because if nothing started then nothing should show up in database.
Hey @stephenbalben_joel, these tables with “ru” are runtime tables, and as the name says, store only the data of things that are still running.
If you have any process instance started and still waiting for a task to complete, it will have a row in the external task table. When your worker complete this task, this row will be deleted.
If you have any process instance running with some variables, you will have rows at the act_ru_var tables.
These runtime data are deleted whenever the process instance is finished, so if all of your process instance already finished, your runtime tables will be empty.
The HI tables are for history of process instances that executed, and you will have rows in these tables even if your process instance are all finished.
Of course theres a configuration to disable these history data too.
If we are deploying the Bpmn flows in production how do we debug this instance of external task executed is it just traverse the history table / any options available
In our projects a simple addiition i found to be very useful to debug the process flow on production environment was to override the getExecutionListener method on our SpringBootProcessApplication class.
This way you have a method notify being called everytime your token moves and put a log.
If your log include businesskey, eventName (start, end, take), process definition and current activity id, i think you’ll be fine on this debug. Maybe you’ll want to filter the “take” events and log only start and end of each activity.