Я действительно новичок на этом форуме. Но я играю с воздушным потоком, когда-то, для нашей компании. Извините, если этот вопрос звучит очень глупо.
Я пишу конвейер, используя группу BashOperators. В принципе, для каждой задачи я хочу просто вызвать REST api, используя "curl"
Вот как выглядит мой конвейер (очень упрощенная версия):
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': ['[email protected]'],
'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())
Вместо этого я хочу здесь 'execute_date'
Как использовать 'execute_date' и назначить его переменной в моем файле python?
У меня есть эта общая проблема доступа к args. Любая помощь будет искренне оценена.
Спасибо