随着业务发展,我们的任务会越来越多,任务之间依赖关系会越来越复杂,任务之间需要跨周期依赖,不同部门、不同用户之间任务需要做权限控制,任务失败、超时、开始结束之间不符合自定义的报警需要完善,重要任务的优先执行等等,需要一个强大的调度系统支持,才能保证数据部门的正常运转,下面来看看一个强大的调度系统需要支持的功能。
调度系统功能:
- 定时任务、单个任务、依赖任务、跨周期依赖任务;
- 任务可以查看依赖关系(上下游),重跑任务可选择是否触发所有下游任务;
- 单个任务报警机制:任务失败、开始时间延迟报警、结束时间延迟报警、执行时间超时(今日任务执行时长对比该任务的历史执行时长方差)报警
- SLA报警机制:根据仓库层次,或者数据的特点,设置报警任务组,组内任务未完成,及时报警;
- 报警支持方式选择:电话、短信、企业微信/钉钉、邮件;
- 报警联系人:负责人、报警组(一批人);
- 对于不同部门同事之间的任务,他们应没有权限修改对应任务的,同一部门中仓库不同层次的任务应需申请才能使用;
- 脚本管理:如果使用git或者svn,那么线上那么多任务的脚本,想要获取某个历史脚本,难道需要回滚所有的吗?不,使用hbase管理,自带版本管理,不是全局的;
问题:
- 如果调度系统崩溃,恢复了5小时,这5小时内的小时任务如何自动恢复?
- 如果小时级的下游任务有天级任务,如何重刷自动重刷历史数据?
Nobody will care about you, that’s the thing you should know.
书山有路勤为径,学海无涯苦作舟。
欢迎关注微信公众号:【程序员写书】
喜欢宠物的朋友可以关注:【电巴克宠物Pets】
一起学习,一起进步。
