2017-11-13 13 views
2

나는 한 번만 실행해야하는 dag를 실행하려고합니다. 그래서 dag 실행 간격을 '@ once'로 설정했습니다.달의 특정 시간을 1 달로 실행하도록 예약하는 방법. 즉, 한 번

default_args = { 
'owner': 'airflow', 
'depends_on_past': False, 
'start_date': datetime(2017,11,13), 
'email': ['[email protected]'], 
'email_on_failure': False, 
'email_on_retry': False, 
'retries': 1, 
'retry_delay': timedelta(seconds=5) 
} 

dag = DAG(
    dag_id='dagNameTest', default_args=default_args, schedule_interval='12 09 13 11 2017',concurrency=1) 

이 던지고 오류로 :

이제 https://issues.apache.org/jira/browse/AIRFLOW-1400

내가 다음과 같이 실행의 정확한 날짜를 전달하기 위해 노력하고있어 -이 링크에서 언급 한 바와 같이 그러나, 나는 오류를 받고 있어요

File "/usr/lib/python2.7/site-packages/croniter/croniter.py", line 543, in expand 
expr_format)) 
CroniterBadCronError: [12 09 13 11 2017] is not acceptable, out of range 

누군가 해결할 수 있습니까?

덕분에, 아르 준

답변

0

당신은 지점은 "요일"2017 년이있다. 시도하십시오 12 09 13 11 *. "schedule interval"필드에 "날짜"를 설정하려고합니다. 기술적으로 이것은 일 년에 한 번 예정되어 있습니다. 이 방법으로 실행할 수 있으며 완료되면 DAG를 비활성화하십시오.

0

원하는 분, 시간, 요일, 월간 및 요일에 대한 연간 간격을 설정하십시오. I.E. 12 09 13 11 *. 해당 날짜 전후에 DAG의 start_dateend_date을 설정하면 해당 시간에 한 번만 실행해야합니다.

default_args = { 
'owner': 'airflow', 
'depends_on_past': False, 
'start_date': datetime(2017,1,1), 
'end_date': datetime(2017,12,31), 
'email': ['[email protected]'], 
'email_on_failure': False, 
'email_on_retry': False, 
'retries': 1, 
'retry_delay': timedelta(seconds=5) 
} 

dag = DAG(
    dag_id='dagNameTest', default_args=default_args, schedule_interval='12 09 13 11 *',concurrency=1) 

그것은 날짜가 시간이 걸릴 수 있기 때문에 당신이 @once 일정을 사용해서 시간과 분을 가진 시작일을 설정하고 있습니다 가능성이 있습니다. 그러나 나는 그 자신을 시도하지 않았다.

default_args = { 
'owner': 'airflow', 
'depends_on_past': False, 
'start_date': datetime(2017,11,13,9,11), 
'email': ['[email protected]'], 
'email_on_failure': False, 
'email_on_retry': False, 
'retries': 1, 
'retry_delay': timedelta(seconds=5) 
} 

dag = DAG(
    dag_id='dagNameTest', default_args=default_args, schedule_interval='@once',concurrency=1)