server.workflow_reaper.workflow_reaper

Service to monitor and reap dead workflows.

Attributes

logger

Classes

WorkflowReaper

Monitoring and reaping dead workflows.

Module Contents

server.workflow_reaper.workflow_reaper.logger
class server.workflow_reaper.workflow_reaper.WorkflowReaper(poll_interval_seconds: int | None = None, requester: jobmon.core.requester.Requester | None = None, wf_notification_sink: Callable[Ellipsis, None] | None = None)

Bases: object

Monitoring and reaping dead workflows.

Initializes WorkflowReaper class with specified poll interval and slack info.

Parameters:
  • poll_interval_seconds (int) – how often the WorkflowReaper should check the database and reap workflows. Using seconds, rather than minutes, makes the tests run faster.

  • requester (Requester) – requester to communicate with Flask.

  • wf_notification_sink (Callable) – Slack notifier send().

monitor_forever() None

The main part of the Worklow Reaper.

Check if workflow runs should be in ABORTED, SUSPENDED, or ERROR state. Wait and do it again.