Many of the airflow example dags that have schedule_interval=None
set a dynamic start date like airflow.utils.dates.days_ago(2)
or datetime.utcnow()
. However, the docs recommend against a dynamic start date:
We recommend against using dynamic values as start_date, especially datetime.now() as it can be quite confusing. The task is triggered once the period closes, and in theory an @hourly DAG would never get to an hour after now as now() moves along.
Is start date irrelevant for manually triggered dags? What is the best practice here?
If you have a schedule_interval=None
I believe the start_date
is irrelevant as airflow will not attempt to perform any back filling. Just set it to anything even if it's a dynamic one it shouldn't cause any hassle.
I ended up just setting start_date
to 1970, Jan 1st (absurdly far in the past) so that Airflow never complains that the execution date is before the start date.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With