在过去的几天里,我一直在评估气流作为我们ETL工作流的一个可能的替代工具,当DAG在气流中被重命名时,我发现了一些有趣的行为。
如果我在一个名为hello_world.py的文件中有一个进程
dag = DAG('hello_world', description='Simple DAG',
schedule_interval='0 12 * * *',
start_date=datetime(2017, 11, 1), catchup=True)这个进程在11月份已经执行了10天,然后我决定只想将这个守护进程的名称更改为'yet_another_hello_world‘,例如在同一个文件yet_another_hello_world中
dag = DAG('yet_another_hello_world', description='Simple DAG',
schedule_interval='0 12 * * *',
start_date=datetime(2017, 11, 1), catchup=True)我只是简单地重命名作业,而不是更改业务逻辑等等。当它被部署到气流中时,它会被自动拾取并注册为一个新作业,因此现在在DAG视图中可以看到两个作业。
由于在DAG定义中使用了catchup=True,调度程序会自动查看这个更改,并注册一个新的作业yet_another_hello_world,然后从11月1日开始继续回溯缺少的执行。它还将继续保持现有的hello_world作业不变。
最终,我希望这是现有作业的重命名,而不是保留旧的hello_world作业。是否有办法指示气流,这是一个简单的改名?
发布于 2017-12-14 07:53:36
作为一种最佳实践,建议在更改dags的名称schedule_interval或start_date时创建一个新的dag文件。
https://stackoverflow.com/questions/47804377
复制相似问题