任务队列
实例的创建、开关机、重装、修改密码、删除等都通过任务队列管理,在浏览器对实例操作后,会提交对应的任务到控制中心,记录到任务队列中。
任务调度程序会根据既定规则读取任务,执行操作,并将执行结果反馈给客户端。
任务调度程序的工作原理
- 每个任务都有5种状态,分别为:waiting、running、succee,failed,timeout
- 每次读取
最大并发量
-running状态
的实例,执行相应的操作,并将状态切换为running - 每个宿主机拥有独立的任务队列,不与其他宿主机产生干扰
- 当任务长时间没有响应,将进行超时处理
- 有的任务包含若干子任务,比如初始化任务包括开机及修改密码,当任意一个子任务失败即认为总任务失败
超时处理
当任务长时间没有相应,会进行超时处理,目前最大等待时间为5min。 比如删除一个实例,如果长时间宿主机没有响应,任务行超时处理会强制终止任务