Back to Prefect

cancellation_cleanup

docs/v3/api-ref/python/prefect-server-services-cancellation_cleanup.mdx

3.6.30.dev32.1 KB
Original Source

prefect.server.services.cancellation_cleanup

The CancellationCleanup service. Responsible for cancelling tasks and subflows that haven't finished.

Functions

cancel_child_task_runs <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/services/cancellation_cleanup.py#L24" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
cancel_child_task_runs(flow_run_id: Annotated[UUID, Logged]) -> None

Cancel child task runs of a cancelled flow run (docket task).

cancel_subflow_run <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/services/cancellation_cleanup.py#L55" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
cancel_subflow_run(subflow_run_id: Annotated[UUID, Logged]) -> None

Cancel a subflow run whose parent flow run was cancelled (docket task).

monitor_cancelled_flow_runs <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/services/cancellation_cleanup.py#L109" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
monitor_cancelled_flow_runs(docket: Docket = CurrentDocket(), db: PrefectDBInterface = Depends(provide_database_interface), perpetual: Perpetual = Perpetual(automatic=False, every=datetime.timedelta(seconds=get_current_settings().server.services.cancellation_cleanup.loop_seconds))) -> None

Monitor for cancelled flow runs and schedule child task cancellation.

monitor_subflow_runs <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/services/cancellation_cleanup.py#L147" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
monitor_subflow_runs(docket: Docket = CurrentDocket(), db: PrefectDBInterface = Depends(provide_database_interface), perpetual: Perpetual = Perpetual(automatic=False, every=datetime.timedelta(seconds=get_current_settings().server.services.cancellation_cleanup.loop_seconds))) -> None

Monitor for subflow runs that need to be cancelled.