我正在从apache / airflow(2.0.0 dev)设置docker airflow。像这样的代码
DAG_NAME='Simple_Dag_1'
default_args = {
'owner': 'airflow',
'depends_on_past': True,
'start_date': utils.dates.days_ago(2)
}
dag = DAG(DAG_NAME, schedule_interval='*/1 * * * *', default_args=default_args)
run_this = BashOperator(
task_id='run_this_first',
bash_command='date >> /tmp/airflow.log',
dag=dag,
)
我认为应该每分钟输出一次
22:26:00
22:27:00
22:28:00
但输出如下:
22:26:47
22:27:01
22:27:13
22:27:22
22:27:39
22:27:54
22:28:10
22:28:19
22:28:33
22:28:45
我更改了catchup = false,现在的顺序是:
Thu Jun 6 16:13:29 UTC 2019
Thu Jun 6 16:14:16 UTC 2019
Thu Jun 6 16:15:21 UTC 2019
Thu Jun 6 16:16:20 UTC 2019
Thu Jun 6 16:17:19 UTC 2019
Thu Jun 6 16:18:21 UTC 2019
Thu Jun 6 16:19:20 UTC 2019
Thu Jun 6 16:20:26 UTC 2019
现在它执行到1分钟,但是秒数还不够准确。我还缺少什么吗?
答案 0 :(得分:0)
您正在输出bash命令运行的确切日期时间。并非每次都精确到秒。如果您希望dag输出您希望运行开始的确切时间,则可以使用
{{ ts }}
使用Jinja模板获取时间戳。这将为您提供dag计划运行的确切时间。它不会给您DAG实际运行的确切时间。