乐知付加密服务平台

如果你有资源, 平台可以帮你实现内容变现, 无需搭建知识付费服务平台。

点击访问官方网站 https://lezhifu.cc

扫码关注公众号 乐知付加密服务平台-微信公众号
说下调度系统airflow的一些问题 | chenzuoli's blog

说下调度系统airflow的一些问题

最近总结了下这些年用airflow的一些心得和体会,它有许多优点也有一些缺点,之前的文章写了它的优点、特点,下面来说下它的问题。

1.webserver:dag列表、dag_run列表、task_instance列表、log列表的展示问题,当你的airflow运行了几年时间,任务运行详情记录已经达到了千万级别,操作日志数量达到了亿级别,那么在打开airflow webserver对应的task列表或log列表时,一直转圈圈,很慢。所以你要么做数据库的清理操作,要么修改airflow源码,做后端分页操作。

2.scheduler:airflow调度原理是scheduler不停地遍历dag文件夹,获取到可执行的dag列表,然后轮询操作做相应的解析和检查操作,判断该dag中的task是否可执行,那么当dag任务数量逐渐增加达到万级别的时候,dag的调度变得很慢,task和task之间的执行时间间隔变得越来越长,此时就影响到了数据的整体运行时间,拉长了。
解决办法呢?最直接的方法就是做任务的合并操作,减少dag的数量,做好仓库的监控工作,没用的模型任务,集市任务,抽取任务,做下线操作。

3.依赖问题:随着任务量的越来越多,dag与dag之间的依赖关系越来越复杂,当一个任务上下游涉及到几十个时,如何做好依赖检查呢?难道写多个task去check上游任务执行状态吗?这也太麻烦了。
解决办法就是自定义check,支持传递多个上游任务id。

4.调度问题:能否提供一种机制,上游任务运行完成,触发下游任务的执行,而不是下游主动检查上游状态,这中间会出现时间差,任务量大时,这个时间差可以达到十分钟级别。


Keep reading, Keep writing, Keep coding.

欢迎关注我的微信公众号,比较喜欢分享知识,也喜欢宠物,所以做了这2个公众号:
程序员写书

喜欢宠物的朋友可以关注:【电巴克宠物Pets】
电巴克宠物

一起学习,一起进步。

-------------本文结束感谢您的阅读-------------