node: 暂停任务不处理 & 清除无用代码

pull/1/head
miraclesu 2017-02-19 10:37:13 +08:00
parent 924838962c
commit fc4b332d2b
3 changed files with 6 additions and 58 deletions

View File

@ -32,13 +32,6 @@ type Job struct {
Rules []*JobRule `json:"rules"`
Pause bool `json:"pause"` // 可手工控制的状态
// node 服务使用
// 每个任务在单个结点上只支持一个时间规则
// 如果需要多个时间规则,需建新的任务
schedule string
gid string
build bool
// 执行任务的结点,用于记录 job log
runOn string
}
@ -56,7 +49,6 @@ type Cmd struct {
*JobRule
Schedule string
Gid string
}
func (c *Cmd) GetID() string {
@ -140,36 +132,6 @@ func GetJobFromKv(kv *mvccpb.KeyValue) (job *Job, err error) {
return
}
// Schedule return schedule and group id
func (j *Job) Schedule(nid string, gs map[string]*Group, rebuild bool) (sch string, gid string) {
if j.Pause {
return
}
if j.build && !rebuild {
return j.schedule, j.gid
}
j.buildSchedule(nid, gs)
return j.schedule, j.gid
}
func (j *Job) buildSchedule(nid string, gs map[string]*Group) {
j.build = true
for _, r := range j.Rules {
for _, id := range r.ExcludeNodeIDs {
if nid == id {
return
}
}
if gid, ok := r.included(nid, gs); ok {
j.schedule, j.gid = r.Timer, gid
return
}
}
}
func (j *Job) GetID() string {
return j.ID
}
@ -289,6 +251,10 @@ func (j *Job) Fail(t time.Time, msg string) {
func (j *Job) Cmds(nid string, gs map[string]*Group) (cmds map[string]*Cmd) {
cmds = make(map[string]*Cmd)
if j.Pause {
return
}
for _, r := range j.Rules {
for _, id := range r.ExcludeNodeIDs {
if nid == id {
@ -296,13 +262,12 @@ func (j *Job) Cmds(nid string, gs map[string]*Group) (cmds map[string]*Cmd) {
}
}
if gid, ok := r.included(nid, gs); ok {
if _, ok := r.included(nid, gs); ok {
cmd := &Cmd{
Job: j,
JobRule: r,
Schedule: r.Timer,
Gid: gid,
}
j.RunOn(nid)
cmds[cmd.GetID()] = cmd

View File

@ -5,18 +5,3 @@ import (
)
type Jobs map[string]*models.Job
func loadJobs(id string, g Groups) (j Jobs, err error) {
jobs, err := models.GetJobs()
if err != nil {
return
}
j = make(Jobs, len(jobs))
for _, job := range jobs {
if sch, _ := job.Schedule(id, g, false); len(sch) > 0 {
j[job.GetID()] = job
}
}
return
}

View File

@ -95,9 +95,7 @@ func (n *Node) loadJobs() (err error) {
if n.groups, err = models.GetGroups(n.ID); err != nil {
return
}
if n.jobs, err = loadJobs(n.ID, n.groups); err != nil {
return
}
jobs, err := models.GetJobs()
if err != nil {
return