job: 修改 cmd 结构,去掉冗余字段

pull/1/head
miraclesu 2017-03-02 14:34:15 +08:00
parent a4869a5f0b
commit 153595ccdc
3 changed files with 7 additions and 15 deletions

View File

@ -47,8 +47,6 @@ type JobRule struct {
type Cmd struct {
*Job
*JobRule
Schedule string
}
func (c *Cmd) GetID() string {
@ -132,10 +130,6 @@ func GetJobFromKv(kv *mvccpb.KeyValue) (job *Job, err error) {
return
}
func (j *Job) GetID() string {
return j.ID
}
func (j *Job) RunOn(n string) {
j.runOn = n
}
@ -266,8 +260,6 @@ func (j *Job) Cmds(nid string, gs map[string]*Group) (cmds map[string]*Cmd) {
cmd := &Cmd{
Job: j,
JobRule: r,
Schedule: r.Timer,
}
j.RunOn(nid)
cmds[cmd.GetID()] = cmd

View File

@ -83,7 +83,7 @@ func GetJobLatestLogListByJobIds(jobIds []string) (m map[string]*JobLatestLog, e
func CreateJobLog(j *Job, t time.Time, rs string, success bool) {
jl := JobLog{
Id: bson.NewObjectId(),
JobId: j.GetID(),
JobId: j.ID,
JobGroup: j.Group,
Name: j.Name,

View File

@ -177,19 +177,19 @@ func (n *Node) modJob(job *models.Job) {
func (n *Node) addCmd(cmd *models.Cmd, notice bool) {
c, ok := n.cmds[cmd.GetID()]
if ok {
sch := c.Schedule
sch := c.JobRule.Timer
*c = *cmd
// 节点执行时间不变,不用更新 cron
if c.Schedule == sch {
if c.JobRule.Timer == sch {
return
}
} else {
c = cmd
}
if err := n.Cron.AddJob(c.Schedule, c); err != nil {
msg := fmt.Sprintf("job[%s] rule[%s] timer[%s] parse err: %s", c.Job.ID, c.JobRule.ID, c.Schedule, err.Error())
if err := n.Cron.AddJob(c.JobRule.Timer, c); err != nil {
msg := fmt.Sprintf("job[%s] rule[%s] timer[%s] parse err: %s", c.Job.ID, c.JobRule.ID, c.JobRule.Timer, err.Error())
log.Warn(msg)
c.Fail(time.Now(), msg)
return
@ -200,7 +200,7 @@ func (n *Node) addCmd(cmd *models.Cmd, notice bool) {
}
if notice {
log.Noticef("job[%s] rule[%s] timer[%s] has added", c.Job.ID, c.JobRule.ID, c.Schedule)
log.Noticef("job[%s] rule[%s] timer[%s] has added", c.Job.ID, c.JobRule.ID, c.JobRule.Timer)
}
return
}
@ -208,7 +208,7 @@ func (n *Node) addCmd(cmd *models.Cmd, notice bool) {
func (n *Node) delCmd(cmd *models.Cmd) {
delete(n.cmds, cmd.GetID())
n.Cron.DelJob(cmd)
log.Noticef("job[%s] rule[%s] timer[%s] has deleted", cmd.Job.ID, cmd.JobRule.ID, cmd.Schedule)
log.Noticef("job[%s] rule[%s] timer[%s] has deleted", cmd.Job.ID, cmd.JobRule.ID, cmd.JobRule.Timer)
}
func (n *Node) addGroup(g *models.Group) {