Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support timer boundary events #1590

Closed
npepinpe opened this issue Oct 30, 2018 · 0 comments · Fixed by #1635
Closed

Support timer boundary events #1590

npepinpe opened this issue Oct 30, 2018 · 0 comments · Fixed by #1635
Assignees

Comments

@npepinpe
Copy link
Member

Enables usage of timer boundary events during workflow execution.

As this is the first issue to add boundary events to our execution model, it should implement the following:

  1. Process boundary model definitions to an executable model
  2. Activities should setup their boundary events triggers during the ELEMENT_READY phase: in this case, create all timers attached.
  3. Activities should clear any boundary event trigger during the ELEMENT_TERMINATING or ELEMENT_COMPLETING phase: in this case, delete all timers attached.
  4. A boundary event's ELEMENT_ACTIVATED phase should cancel the attachedTo activity if so configured
  5. A boundary event should not process its ELEMENT_ACTIVATED lifecycle step if the activity it is attached to is completing/terminating (i.e.: step guard)
  6. An element should only spawn a new token when completed, not when terminated.
  7. When the timer configured by the boundary event is triggered, it should start the correct boundary event's lifecycle (e.g. write ELEMENT_READY for it).
@ghost ghost assigned npepinpe Nov 1, 2018
@ghost ghost added in progress and removed ready labels Nov 1, 2018
@ghost ghost added needs review and removed in progress labels Nov 6, 2018
zeebe-bors-heroku bot pushed a commit that referenced this issue Nov 14, 2018
1635: feat(broker-core): support interrupting timer boundary events r=ThorbenLindhauer a=npepinpe

- adds CatchEventOutput class to BpmnStepContext to allow BpmnStepHandlers to subscribe/unsubscribe to catch events
- refactors Terminate*Handler and Complete*Handler for flow nodes/activities
- refactors message related handlers to use CatchEventOutput
- refactors timer related handlers to use CatchEventOutput
- adds new WorkflowInstanceIntent.BOUNDARY_EVENT_TRIGGERED as the only lifecycle state of a boundary event
- refactor applying input/output mappings into a stateless helper class which is reused by several step handlers
- adds new property handlerNodeId to TimerRecord to determine which boundary event should be triggered
- adds new BoundaryEventHelper to help determine and/or trigger boundary events from outside of a step processor, as well as terminate the associated activity if need be

closes #1590 

I forgot bors closes PRs based on the branches it deletes, so it closed the previous one and wouldn't let me reopen it, hence the duplicate.

Co-authored-by: Nicolas Pépin-Perreault <nicolas.pepin-perreault@camunda.com>
@ghost ghost removed the needs review label Nov 14, 2018
github-merge-queue bot pushed a commit that referenced this issue Mar 14, 2024
)

* feature(backend): add batch size throttling

Related with #1590

* feature(backend): add set requestOptions for RecordsReader (for testing)

Related with #1590

* feature(backend): add reset to NumberThrottleable

Related with #1590

* feat(backend): clean up

Related with #1590

* fix(backend): move setRequestOptions to ElasticsearchUtil

Related with #1590

---------

Co-authored-by: Svetlana Dorokhova <svetlana.dorokhova@camunda.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants