在SchedulerX中创建的应用默认最多只支持1,000个任务,而在某些场景下1,000个任务远远满足不了业务需求。另外,实际业务场景中,不同定时任务的调度时间可能不一样。本文介绍如何通过一系列配置,使单应用能够支持上万,甚至十万以上的定时任务,并且不同任务能够有独立的调度时间。
应用场景
常见应用场景是每个定时任务调度时间都不一样,无法通过MapReduce分布式任务解决(MapReduce分布式任务每个子任务调度时间是一致的)。
- 物联网智能开关
智能开关可以设置定时开启、关闭,是由用户自定义设置的,所以每个开关的定时时间是不一致的。可以给每一个开关设置一个定时单机任务。在物联网场景下,定时单机任务可能会达到万、甚至十万级别。
- 业务监控
业务监控需要配置监控报警规则,一般每分钟轮询一次,符合规则则报警。大部分场景下使用一个MapReduce分布式任务是可以解决的,但是如果由于报警规则的复杂程度不同而导致执行时间差异较大时,有可能出现一个报警子任务没有执行完而阻塞整个任务下次调度。所以,可以给每个报警规则配置一个定时单机任务。当业务规模很大时,定时单机任务也可能达到万、甚至十万级别。
- 将SchedulerX作为底座
当将SchedulerX作为底座,封装一层任务调度平台(通过POP API新建任务)提供给自己的公司使用时,任务量也有可能达到万、甚至十万级别。
操作步骤
使单应用能够支持十万以上的定时任务,需要完成以下两个步骤: