How to stop/disable a timer event after another task is done?

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-06-2014 06:04 PM
Our use case is very simple.
A task need to be done in 1 day. I have a timer boundary event set to a day. The boundary event is not blocking so user can still work on the task after a day. But when the time is up, I will start to send email to the user that need to work on the task every hour to remind them. That is simply an email task and then goes to a Timer Intermediate Catching Event and then comes back.
What I need to do is stop sending these emails after the user finished the task. I think a exclusive gateway that checks on a process variable that is set to true after the task is complete would work. But I have multiple instances of this task. For example, 10 employees need to submit their report. How can I know which task is the one that I need to check that is finished or not and stop sending emails. Process level variable does not seems to be right.
Thank you very much!
–Gordon
A task need to be done in 1 day. I have a timer boundary event set to a day. The boundary event is not blocking so user can still work on the task after a day. But when the time is up, I will start to send email to the user that need to work on the task every hour to remind them. That is simply an email task and then goes to a Timer Intermediate Catching Event and then comes back.
What I need to do is stop sending these emails after the user finished the task. I think a exclusive gateway that checks on a process variable that is set to true after the task is complete would work. But I have multiple instances of this task. For example, 10 employees need to submit their report. How can I know which task is the one that I need to check that is finished or not and stop sending emails. Process level variable does not seems to be right.
Thank you very much!
–Gordon
Labels:
- Labels:
-
Archive
4 REPLIES 4
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-07-2014 10:20 AM
I had a problem like yours, and i solved attaching a TimerBoundaryEvent to a subprocess.
The TimerBoundaryEvent is started when the subprocess starts. If the subprocess reaches an EndEvent, the TimerBoundaryEvent is "cancelled".
Attention on attribute "Cancel Activity" in TimerBoundaryEvent, if false, it won't cancel the subprocess activity.
The TimerBoundaryEvent is started when the subprocess starts. If the subprocess reaches an EndEvent, the TimerBoundaryEvent is "cancelled".
Attention on attribute "Cancel Activity" in TimerBoundaryEvent, if false, it won't cancel the subprocess activity.

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-07-2014 02:46 PM
Thank you igorbelo. But I'm still a little confused. The TimerBoundaryEvent can only fire once, right? After my TimerBoundaryEvent fires, I start to send reminder email every hour. My problem is how do I stop when the task is done on the main process.
Thank you!
Thank you!

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-08-2014 01:39 PM
Has anyone done this without code?
It basically boils down to how do you interrupt a loop with a timer. In my case the loop with the timer is sending reminder email every hour. And I have multiple instances of such loop. So I need to interrupt the right one.
It basically boils down to how do you interrupt a loop with a timer. In my case the loop with the timer is sending reminder email every hour. And I have multiple instances of such loop. So I need to interrupt the right one.
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-09-2014 02:05 AM
Hi,
You can send signal to the "email sender" and stop sender's execution (Use e.g signal boundary event for it).
Regards
Martin
You can send signal to the "email sender" and stop sender's execution (Use e.g signal boundary event for it).
Regards
Martin
