A reminder type of event for a subprocess or group

Good day, community

Trying to figure out how to approach the next problem - there is a series of user tasks (A, B, C). For them I want to have a reminder for that group, that would be triggered if the group/subprocess is triggered and left without attention.

My first thought was to do something like:

image

with “PING ME” containing a few pings
image

But that one has at least one problem - once the subprocess is triggered, it will execute till the exit point. My intention at this specific moment is to have the “ping me” process stopped once “SubProcess” is passed.

Is it possible? Or did I move in the wrong direction with the reminder stuff?

I did find a similar topic, in which it was suggested to use gateways and param checks. Manage to apply that approach, but REAAAAALLLY wanted to have something that would simply kill a subprocess or something…

Hi @Draakzward,

the following should work:

  1. Replace your non-interrupting timer boundary event with a non-interrupting event subprocess within “SubProcess”
  2. Make all end events in “SubProcess” (not the event subprocess) Terminate End Events
2 Likes

Thank you. Will give it a try

@StephanHaarmann wanted to ask. Is there a possibility to utilize events or messages to have the inner subprocess somehow react? For example, restart the flow or something?

The inner subprocess (i.e., the event subprocess will be restarted whenever the event occurs). If you want to restart the other subprocess (labeled Subprocess) then use a boundary event and loop back to the subprocess.

@StephanHaarmann may I ask for an example of how would it look like (a bpmn file maybe)? Pretty much “new ground” for me at the moment (but I’m getting there)

Does this help:


restart.bpmn (8.6 KB)
The subprocess is restarted when the “restart message received” event is triggered.

1 Like

Thanks. Now to figure out how to generate messages from “Do something”

It’s not standard BPMN modeling to send messages from “Do Something” to “Restart Message Received”

The usual rule for messages is: A Message needs to cross a process boundary (ie. Send from the process you’re in to an external process, or Receive from an external process to the process you’re in)

You can throw an “business error” within “Do Something” and catch it on the outside (like the message) to restart the subprocess that you’re working in.

1 Like

@GotnOGuts so what you’re saying is that “If I want to have a separate notification thread/subprocess, I need to physically split them up into two process definitions”, right?

Not necessarily distinct diagrams, but different pools within the diagram will suffice.

There’s other ways around it… It’s just the rules around “Message” that causes this.
One of the common ways (at least shows up on the forum regularly) is to use a Variable (eg. ‘NotificationRequired’) with a conditional start (Condition: NotificationRequired=true). Then, when you want to send a Notification, set the variable to true. In the subprocess, once you’ve sent the notification, set it to false again.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.