Airflow: changing the crontab time for a DAG in Airflow

To schedule a dag, Airflow just looks for the last execution date and sum the schedule interval. If this time has expired it will run the dag. You cannot simple update the start date. A simple way to do this is edit your start date and schedule interval, rename your dag (e.g. xxxx_v2.py) and redeploy it.


An alternative solution to renaming the DAG is to edit the execution_date of all prior task instances and DAG runs of the DAG in the database. The tables to alter are task_instance and dag_run respectively.

One of the downsides of this approach is that you will lose the ability to browse logs of completed tasks through the webserver.


David,
1. You can also delete the dag via Experimental REST API. deleting a DAG
2. Change the desired start_date.
3. And add the same DAG back.


You can use the same dag. After modifying schedule_interval, you need to mark the previous job as succeeded via airflow backfill -m command.

Tags:

Airflow