-
Notifications
You must be signed in to change notification settings - Fork 4
Garbage Collector
Dan Mushkevych edited this page Dec 9, 2016
·
3 revisions
Garbage Collector's algorithm: Selects all units of work satisfying next criteria and re-triggers them:
- Unit of work must have created_at timestamp within the last 48 hours
- Unit of work must be in STATE_IN_PROGRESS, STATE_REQUESTED, STATE_INVALID states
- Unit of work must belong to a process that is both registered in the ProcessContext and marked as active
- Unit of work must not belong to free-run process
Selected unit_of_work are placed into a queue, where they spend 15 minutes, unless manually re-triggering from MX UI. During re-triggering, Garbage Collector performs following actions:
- Changes unit_of_work state to STATE_REQUESTED
- Increments number_of_retries by one
- Fetches proper MQ Publisher and re-sends the unit_of_work
Note: in case unit_of_work has crossed 48 hour-life-support time frame, Garbage Collector will change its state to STATE_CANCELED. As soon as the Synergy Scheduler sees a unit_of_work in state STATE_CANCELED, it marks the timeperiod as STATE_SKIPPED.