You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "André da Silva Pinto (JIRA)" <ji...@apache.org> on 2018/01/19 00:59:10 UTC
[jira] [Commented] (AIRFLOW-1156) Using a timedelta object as a
Schedule Interval with catchup=False causes the start_date to no longer be
honored.
[ https://issues.apache.org/jira/browse/AIRFLOW-1156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16331533#comment-16331533 ]
André da Silva Pinto commented on AIRFLOW-1156:
-----------------------------------------------
This also causes the initial run to immediately include 2 different dag runs (now-period and now-2*period) when the dag is enabled.
Problematic code:
https://github.com/apache/incubator-airflow/blob/master/airflow/jobs.py#L797-L813
> Using a timedelta object as a Schedule Interval with catchup=False causes the start_date to no longer be honored.
> -----------------------------------------------------------------------------------------------------------------
>
> Key: AIRFLOW-1156
> URL: https://issues.apache.org/jira/browse/AIRFLOW-1156
> Project: Apache Airflow
> Issue Type: Bug
> Affects Versions: Airflow 1.8
> Reporter: Zachary Lawson
> Priority: Minor
>
> Currently, in Airflow v1.8, if you set your schedule_interval to a timedelta object and set catchup=False, the start_date is no longer honored and the DAG is scheduled immediately upon unpausing the DAG. It is then schedule on the schedule interval from that point onward. Example below:
> {code}
> from airflow import DAG
> from datetime import datetime, timedelta
> import logging
> from airflow.operators.python_operator import PythonOperator
> default_args = {
> 'owner': 'airflow',
> 'depends_on_past': False,
> 'start_date': datetime(2015, 6, 1),
> }
> dag = DAG('test', default_args=default_args, schedule_interval=timedelta(seconds=5), catchup=False)
> def context_test(ds, **context):
> logging.info('testing')
> test_context = PythonOperator(
> task_id='test_context',
> provide_context=True,
> python_callable=context_test,
> dag=dag
> )
> {code}
> If you switch the above over to a CRON expression, the behavior of the scheduling is returned to the expected.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)