本
文
摘
要
公司使用
redash作为内部的运营数据可视化平台已经很久了,随着底层数据和业务的变更,很多任务已经没有人看或者感觉已经出错,但是仍在定时运行,导致了大量计算资源的浪费和redash任务队列的拥堵。
看上图,Failed的任务竟然占了总量的80%,理论上不应该有这么多,仔细查任务历史发现,如果任务失败了,那么redash会每分钟进行重试,直到该任务成功,所以导致了虽然只有很少一部分任务失败,但却产生了大量的失败任务。看了下redash的源码,这其实是因为redash并没有在postgresql中保存任务的执行记录,所以每次beat时如果该任务都会被调度执行。
在github上查了下,发现这个问题在15年就有人提出来了:https://github.com/getredash/redash/issues/613
但是直到最近,patch才出来。。。
Scheduled queries improvements: by arikfr · Pull Request #1774 · getredash/redashpatch原理也很简单,就是在db里存上任务执行记录,这样就可以不用一直重试了。
更多redash使用(redash中文版)相关信息请关注本站,本文仅仅做为展示!