clear_dag_run
Clear a specific DAG run in Apache Airflow by removing its task instances and resetting execution state, allowing for reruns or error recovery.
Instructions
Clear a DAG run
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dag_id | Yes | ||
| dag_run_id | Yes | ||
| dry_run | No |
Input Schema (JSON Schema)
{
"properties": {
"dag_id": {
"title": "Dag Id",
"type": "string"
},
"dag_run_id": {
"title": "Dag Run Id",
"type": "string"
},
"dry_run": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Dry Run"
}
},
"required": [
"dag_id",
"dag_run_id"
],
"type": "object"
}
Implementation Reference
- src/airflow/dagrun.py:207-212 (handler)The async handler function that implements the clear_dag_run tool by calling the Airflow DAGRunApi.clear_dag_run method with the provided dag_id, dag_run_id, and optional dry_run parameter.async def clear_dag_run( dag_id: str, dag_run_id: str, dry_run: Optional[bool] = None ) -> List[Union[types.TextContent, types.ImageContent, types.EmbeddedResource]]: clear_dag_run = ClearDagRun(dry_run=dry_run) response = dag_run_api.clear_dag_run(dag_id=dag_id, dag_run_id=dag_run_id, clear_dag_run=clear_dag_run) return [types.TextContent(type="text", text=str(response.to_dict()))]
- src/airflow/dagrun.py:17-29 (registration)The get_all_functions() lists all DAG run tool handlers for registration with MCP, including the clear_dag_run tool as (clear_dag_run, "clear_dag_run", "Clear a DAG run", False).def get_all_functions() -> list[tuple[Callable, str, str, bool]]: """Return list of (function, name, description, is_read_only) tuples for registration.""" return [ (post_dag_run, "post_dag_run", "Trigger a DAG by ID", False), (get_dag_runs, "get_dag_runs", "Get DAG runs by ID", True), (get_dag_runs_batch, "get_dag_runs_batch", "List DAG runs (batch)", True), (get_dag_run, "get_dag_run", "Get a DAG run by DAG ID and DAG run ID", True), (update_dag_run_state, "update_dag_run_state", "Update a DAG run state by DAG ID and DAG run ID", False), (delete_dag_run, "delete_dag_run", "Delete a DAG run by DAG ID and DAG run ID", False), (clear_dag_run, "clear_dag_run", "Clear a DAG run", False), (set_dag_run_note, "set_dag_run_note", "Update the DagRun note", False), (get_upstream_dataset_events, "get_upstream_dataset_events", "Get dataset events for a DAG run", True), ]
- src/airflow/dagrun.py:6-6 (schema)Import of the ClearDagRun model class used for input schema/validation in the clear_dag_run handler.from airflow_client.client.model.clear_dag_run import ClearDagRun