airflow任务中sla的默认值
Default value of sla in airflow task
我正在尝试将 SLA 与气流 DAG 结合使用。但是我无法在文档中的任何地方获取 SLA 的默认值(未选中 SLA 时)。
task2 = PythonOperator(
task_id="task_2",
sla=timedelta(seconds=VAL),
python_callable=dela,
pool='monitoring_jobs_pool',
provide_context=True,
dag=dag
)
我正在使用这些任务创建多个 DAG,其中 sla 值取决于一个变量,并且大多数时候由另一段代码获取的这个值(VAL)是 0,我不想这样做监控 SLA,但在其他地方,这将是某个值,如 20、50 或任何其他要监控的值。我应该如何设置 sla 的默认值以跳过 SLA 检查。使用非常大的值来完成同样的事情也会对气流性能产生任何影响。对于 0,我认为 SLA 检查将被跳过,但是任务在 SLA 未命中 UI 中可见,即使 sla 值定义为 0。如果 sla 为零,我不可能错过“sla”关键字。非常感谢 answers/suggestions 解决此问题。
SLA 的默认值为 None
(在 BaseOperator 中)
将 VAL
设置为 0 应该会立即触发 SLA,因为它错过了来自偏移量的 SLA。
你可以实现类似的东西:
task2 = PythonOperator(
task_id="task_2",
sla=timedelta(seconds=VAL) if VAL > 0 else None,
python_callable=dela,
pool='monitoring_jobs_pool',
provide_context=True,
dag=dag
)
如果 VAL
为 0,则跳过 SLA。
我正在尝试将 SLA 与气流 DAG 结合使用。但是我无法在文档中的任何地方获取 SLA 的默认值(未选中 SLA 时)。
task2 = PythonOperator(
task_id="task_2",
sla=timedelta(seconds=VAL),
python_callable=dela,
pool='monitoring_jobs_pool',
provide_context=True,
dag=dag
)
我正在使用这些任务创建多个 DAG,其中 sla 值取决于一个变量,并且大多数时候由另一段代码获取的这个值(VAL)是 0,我不想这样做监控 SLA,但在其他地方,这将是某个值,如 20、50 或任何其他要监控的值。我应该如何设置 sla 的默认值以跳过 SLA 检查。使用非常大的值来完成同样的事情也会对气流性能产生任何影响。对于 0,我认为 SLA 检查将被跳过,但是任务在 SLA 未命中 UI 中可见,即使 sla 值定义为 0。如果 sla 为零,我不可能错过“sla”关键字。非常感谢 answers/suggestions 解决此问题。
SLA 的默认值为 None
(在 BaseOperator 中)
将 VAL
设置为 0 应该会立即触发 SLA,因为它错过了来自偏移量的 SLA。
你可以实现类似的东西:
task2 = PythonOperator(
task_id="task_2",
sla=timedelta(seconds=VAL) if VAL > 0 else None,
python_callable=dela,
pool='monitoring_jobs_pool',
provide_context=True,
dag=dag
)
如果 VAL
为 0,则跳过 SLA。