CeleryExecutor:气流指标是否"executor.queued_tasks"报告芹菜代理中的任务数?



使用其statsd插件,Airflow可以报告指标executor.queued_tasks以及其他一些指标。

我正在使用 CeleryExecutor,需要知道 Celery 代理中有多少任务在等待,以便我知道何时应该生成新工作线程。事实上,我设置了我的工人,这样他们就不能同时承担许多任务。这个指标是我需要的吗?

不。如果您想知道代理中有多少 TI 正在等待,则必须连接到它。

等待在 celery 代理中选取的任务实例根据 Airflow DB 排队,但根据 CeleryExecutor 运行。这是因为 CeleryExecutor 认为成功发送到代理的任何任务实例现在都在运行(与数据库不同,数据库在将其标记为正在运行之前等待工作线程选取它(。

指标executor.queued_tasks报告根据执行程序(而不是数据库(排队的任务数。

根据数据库排队的任务实例数也不是您所需要的,因为它报告在代理中等待的任务实例数加上排队到执行器的任务实例数。但是,您问 TI 何时会被卡在执行者的队列中?当 Airflow 的parallelism设置阻止执行者将其发送到代理时。

相关内容

  • 没有找到相关文章

最新更新