JBPM - Timers

221 views
Skip to first unread message

Mallikarjuna Avancha

unread,
Apr 4, 2018, 6:03:59 AM4/4/18
to jBPM Usage
Dear all,

We have a requirement where in we need to implement Timer for delaying the process execution. I was thinking this  implementation  in 2 ways

             1) Implement a timer within the process , configure timer etc. But when we implement timer, it will create entries in JOB and Trigger tables of the  engine database.
  My questions is when we have lacks of case created daily  , Triggers table also will have such records/entries  created as trigger time for each instance may be different based on when it has started. Won't this cause performance hit on the engine where in the JOB Scheduler has to invoke respective trigger and has to scan through all the records etc. ?
  

          2) Rather if  i implement this with Intermediate Message event and if i track the Event/delay  data outside BPM system and accordingly send a message event to the process , it may be better design ?


Please share your thoughts.

 Thanks,
Malli

Maciej Swiderski

unread,
Apr 4, 2018, 8:28:04 AM4/4/18
to Mallikarjuna Avancha, jBPM Usage
what version of jBPM are you talking about?

Maciej

--
You received this message because you are subscribed to the Google Groups "jBPM Usage" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jbpm-usage+...@googlegroups.com.
To post to this group, send email to jbpm-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jbpm-usage/004d9184-4ecc-4a27-9ba6-a5a2bbe33b94%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Mallikarjuna Avancha

unread,
Apr 5, 2018, 4:53:06 AM4/5/18
to jBPM Usage
It is 6.4 and we are also checking on 7.0. But my understanding is that as these timer tasks are scheduled based it need to create a schedule event and trigger time events in the engine DB anc accordingly invoke the respective process instances. 

Maciej Swiderski

unread,
Apr 5, 2018, 2:11:43 PM4/5/18
to Mallikarjuna Avancha, jBPM Usage
then I am not sure what tables you have in mind? jBPM support several types of timer service - simple thread pool based - in memory timers scheduled on each start of the application, quartz with in memory storage or db storage and ejb timer service

Maciej

--
You received this message because you are subscribed to the Google Groups "jBPM Usage" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jbpm-usage+...@googlegroups.com.
To post to this group, send email to jbpm-...@googlegroups.com.

Mallikarjuna Avancha

unread,
Apr 9, 2018, 4:22:23 AM4/9/18
to jBPM Usage
Hi  Maciej - thanks for the details

I was referring Qrtz_Job_Details & Qrtz_Triggers tables ( my understanding is that the details of timers schedules & triggers will be  stored in those tables ). I was not aware of Thread pool in memory based timers.
As the state of each activity in a process  is always persisted , i was thinking that always timers schedules are persisted in DB. As we will have 3 ,00,000 Case/Process instances created on daily basis ,Which of these timer options should be consider for better performance ? 

Maciej Swiderski

unread,
Apr 9, 2018, 5:11:59 AM4/9/18
to Mallikarjuna Avancha, jBPM Usage
Based on our internal load tests - ejb timers on WildFly (with data base storage) are the most performant and scale well by adding more cluster nodes.

Maciej

Reply all
Reply to author
Forward
0 new messages