【发布时间】:2016-08-12 08:37:29
【问题描述】:
我真的是这个论坛的新手。但我一直在为我们公司玩气流。对不起,如果这个问题听起来很愚蠢。
我正在使用一堆 BashOperators 编写管道。 基本上,对于每个任务,我想简单地使用'curl'调用一个 REST api
这就是我的管道的样子(非常简化的版本):
from airflow import DAG
from airflow.operators import BashOperator, PythonOperator
from dateutil import tz
import datetime
datetime_obj = datetime.datetime
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime.datetime.combine(datetime_obj.today() - datetime.timedelta(1), datetime_obj.min.time()),
'email': ['xxxx@xxx.xxx'],
'email_on_failure': True,
'email_on_retry': False,
'retries': 2,
'retry_delay': datetime.timedelta(minutes=5),
}
current_datetime = datetime_obj.now(tz=tz.tzlocal())
dag = DAG(
'test_run', default_args=default_args, schedule_interval=datetime.timedelta(minutes=60))
curl_cmd='curl -XPOST "'+hostname+':8000/run?st='+current_datetime +'"'
t1 = BashOperator(
task_id='rest-api-1',
bash_command=curl_cmd,
dag=dag)
如果你注意到我在做current_datetime= datetime_obj.now(tz=tz.tzlocal())
相反,我想要的是 'execution_date'
如何直接使用 'execution_date' 并将其分配给我的 python 文件中的变量?
我遇到了访问 args 的一般问题。 任何帮助将不胜感激。
谢谢
【问题讨论】:
标签: airflow