如何解决每两周安排一次气流工作
我遍历了SO和Web,观察到之前曾问过这个问题,但是这个问题没有回答。所以再次问同样的问题。
Schedule airflow job bi-weekly
How can I schedule bi-weekly jobs?
我有一个要求,我希望每隔一个星期五安排一次气流作业。但是,问题是我不知道如何为此编写时间表。由于我有20个DAGS,需要每两周安排一次,以寻找一种模式。
解决方法
Airflow 1.10.1 docs中指出,DAG的schedule_interval
支持cron表达式和datetime.timedelta
-即使最新文档中未提及,我也认为这仍然有效:>
schedule_interval被定义为DAG参数,并且最好接收cron表达式作为str或
datetime.timedelta
对象。
因此,您应该可以设置schedule_interval=timedelta(weeks=2)
。以下实际上可以正常工作,并使用Airflow 1.10.2对其进行了测试:
from datetime import datetime,timedelta
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
default_args = {
'task_concurrency': 3,'depends_on_past': True,'wait_for_downstream': True,'retries': 0,'start_date': datetime(2020,9,4),}
SCHEDULE_INTERVAL = timedelta(weeks=2)
with DAG("bi-weekly-dag",default_args=default_args,schedule_interval=SCHEDULE_INTERVAL,catchup=True) as dag:
t1 = BashOperator(
task_id='bash_test',bash_command='echo 1',dag=dag
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。