#研发中间件介绍#定时任务调度与管理JobCenter
郑昀 最后更新于2014/11/11 关键词: 定时任务 、调度、监控报警、Job、crontab、Java 本文档适用人员:研发员工 没有JobCenter时我们要面对的: 电商业务链条很长,业务逻辑也较为复杂,需要成百上千种定时任务。窝窝的大多数定时任务其实调用的是本地或远端 Java/PHP/Python Web Service。如果没有一个统一的调度和报警,在集群环境下,我们会: 不知道哪一个定时任务执行失败或超时,不见得能第一时间知道——直到最终用户投诉反馈过来; 要求每一个定时任务输出统一格式的日志供监控系统解析? 对每一位定时任务维护者提出高要求?这不是我们的解题思路。 不知道哪一个定时任务没配好瞎跑; 比如忘记配成开机自启动; 比如曾经线上环境B与环境A并存导致定时任务互相争抢; 不知道现在线上跑了多少个定时任务,都是干什么的,负责人都是谁; 有些定时任务非常重要,不能单点,但又不能同时起多个 crontab,只能采取 master/slave 模式跑——比如退款处理。 什么是JobCenter? 窝窝的定时任务管理和调度平台,一个实用工具, 它是一个由 任务管理、任务调度、任务监控报警以及宿主任务执行(注意不再是 crontab了) 这四部分组成的,分布式多任务协调系统 。 2012年时,我看到暴风影音的马晨开源了一个 CronHub(时间调度系统)项目 (