Scheduler
JudgeJobStarted()
Execute()CollectLog()
WatchJobQueue()
Job写入任务队列
是否超过限制
Yes
Push
CollectLogs
Get Data from Detector
Thread Safe Store
WaitAMoment()
Persist()
Job timeout ?
反馈任务状态
Job Scheduler
5
Notifier
6
休眠一会,继续检测
Notify Message Queue
Update job status
Detect
Pop()
任务出队
WatchJobStatus()
Job-Web
Dispatch()
Storage
Job.Persist()
UpdateJobStatus
Filter()
Exceed ?
任务状态接口回调
Query()Save()Update()
1
Job finish ?
No
Callback
DB
任务数据合法校验
Generate Declarative Obj Config
更新任务状态
Restrictor
WathcQueue()
Executor
2
Job.Dispatch()
Add()、Update()、 Delete()
GetData()
采集任务日志
Filters Chains
Job.Callback()
Job Queue
Consumer
Check()
Kubernetes
休眠后,继续检测任务状态
任务信息持久化
Save job object into db
API Server
ListenAndServe()
Observer
Push()
LogCollector
7
监听任务状态
Pending ?
Detector
发送Job调度任务
CheckParallelism()
Watch job status
监听是否新的任务进来
ExecuteJob()
新增任务
4
3