Thomas Heinrichs: Hey! I got a question for you - how is an external task being cancelled from the view of the process engine?
For instance: There is a user task being displayed in tasklist (which should behave like a client) - how does it manage the task cancellation in case a interrupting timer boundary events occurs?
Thanks a lot!
Nicolas: I’m not sure I know what you mean by from the engine’s point of view
Nicolas: Do you mean what the engine does when a task is cancelled? Or how it’s triggered in the engine?
zell: Or how it is seen by tasklist?
korthout: > how does it manage the task cancellation in case a interrupting timer boundary events occurs?
Technically: an interrupting timer boundary event that triggers will result in the engine cancelling the Job and terminating the Task.
Tasklist will learn about this because it consumes the exported log stream which will contain a Job:Cancelled event and a ProcessInstance:Element_Terminated event (for the task).
If a user tries to complete the task in Tasklist after the timer triggered and the engine has terminated the task, but before Tasklist was updated. Then it simply fails to complete the task. Shortly after tasklist should be updated with the knowledge that the task no longer exists
Thomas Heinrichs: This answered my question very well - Sorry I haven’t specified it that detailed
Thanks a lot!
Note: This post was generated by Slack Archivist from a conversation in the Zeebe Slack, a source of valuable discussions on Zeebe (get an invite). Someone in the Slack thought this was worth sharing!
If this post answered a question for you, hit the Like button - we use that to assess which posts to put into docs.