微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何检测卡住的气流作业?

如何解决如何检测卡住的气流作业?

我和我的团队在 Airflow v2.1.0 上使用带有 Redis 的 Celery 执行器。最近我们注意到一些工作偶尔会运行,直到我们踢它们(很多小时,有时是几天——基本上直到有人注意到)。似乎还没有我们注意到的特定模式。

我们还使用 DataDog 和 statsd 提供程序来收集和监控 Airflow 生成的指标。理想情况下,我们可以为此设置一个 DataDog 监视器,但似乎没有针对这种情况的明显指标。

我们如何检测和报警这样的卡住作业?

解决方法

您可以将 Airflow 的 SLAsla_miss_callback 参数结合使用来调用某些服务(例如我们使用 Slack)。

来自文档:

SLA 或服务级别协议是对任务应花费的最长时间的期望。如果任务的运行时间比这更长,那么它会在用户界面的“SLA 未命中”部分中可见,并且会在所有未完成 SLA 的任务的电子邮件中显示出来。

这样,您就可以为要监控的任务定义 SLA,并提供 sla_miss_callback 以获取有关这些未命中的通知。

,

此问题可能已由 PR16550 修复。

当您重新启动调度程序时出现问题,并且所有已调度或排队的任务(但尚未到达实际执行程序)将处于调度程序无法启动它的状态。这将无限期地保留(即使重新启动调度程序也不会修复它)而无需人工干预。但是,正如您所指出的,您确实仍然可以手动运行它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。