首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何安排dag在一年中某月的某一天的特定时间运行。即,一次

如何安排dag在一年中某月的某一天的特定时间运行。即,一次
EN

Stack Overflow用户
提问于 2017-11-13 17:44:28
回答 2查看 841关注 0票数 3

我正在尝试执行一个只需要运行一次的dag。因此,我将dag的执行间隔设置为“@once”。但是,我得到了这个链接中提到的错误- https://issues.apache.org/jira/browse/AIRFLOW-1400

现在我正在尝试传递确切的执行日期,如下所示:

代码语言:javascript
复制
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2017,11,13),
'email': ['airflow@airflow.com'],
'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)

这是抛出错误,因为:

代码语言:javascript
复制
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

有人能帮我解决这个问题吗。

谢谢,Arjun

EN

回答 2

Stack Overflow用户

发布于 2017-12-06 01:33:06

你有2017年在“星期几”的位置。试试12 09 13 11 *。您正在尝试在“计划时间间隔”字段中设置“日期”。因此,从技术上讲,这将安排在一年一次。您可以这样运行它,当它完成时,停用DAG。

票数 0
EN

Stack Overflow用户

发布于 2017-12-06 09:48:35

为所需的分钟、小时、日、月和工作日数字设置每年的间隔。即12 09 13 11 *。将DAG的start_dateend_date分别设置在该日期之前和之后,此时应该只运行一次。

代码语言:javascript
复制
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2017,1,1),
'end_date': datetime(2017,12,31),
'email': ['airflow@airflow.com'],
'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)

由于datetime可能会占用您的时间,因此您可以将start_date设置为小时和分钟,然后使用@once调度。但我自己还没试过。

代码语言:javascript
复制
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2017,11,13,9,11),
'email': ['airflow@airflow.com'],
'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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47261255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档