mirror of https://github.com/shunfei/cronsun
node: 只加载与当前节点相关的任务
parent
2976114527
commit
6287def1b1
|
@ -198,6 +198,7 @@ func (j *Job) unlimit() {
|
||||||
|
|
||||||
// Run 执行任务
|
// Run 执行任务
|
||||||
func (j *Job) Run() {
|
func (j *Job) Run() {
|
||||||
|
// 同时执行任务数限制
|
||||||
if j.limit() {
|
if j.limit() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ type Node struct {
|
||||||
*models.Node
|
*models.Node
|
||||||
*cron.Cron
|
*cron.Cron
|
||||||
|
|
||||||
jobs Jobs
|
jobs Jobs // 和结点相关的任务
|
||||||
groups Groups
|
groups Groups
|
||||||
cmds map[string]*models.Cmd
|
cmds map[string]*models.Cmd
|
||||||
|
|
||||||
|
@ -115,7 +115,9 @@ func (n *Node) loadJobs() (err error) {
|
||||||
|
|
||||||
func (n *Node) addJob(job *models.Job, notice bool) {
|
func (n *Node) addJob(job *models.Job, notice bool) {
|
||||||
n.link.addJob(job)
|
n.link.addJob(job)
|
||||||
|
if job.IsRunOn(n.ID, n.groups) {
|
||||||
n.jobs[job.ID] = job
|
n.jobs[job.ID] = job
|
||||||
|
}
|
||||||
|
|
||||||
cmds := job.Cmds(n.ID, n.groups)
|
cmds := job.Cmds(n.ID, n.groups)
|
||||||
if len(cmds) == 0 {
|
if len(cmds) == 0 {
|
||||||
|
@ -129,10 +131,10 @@ func (n *Node) addJob(job *models.Job, notice bool) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *Node) delJob(id string) {
|
func (n *Node) delJob(id string) {
|
||||||
|
n.delIDs[id] = true
|
||||||
job, ok := n.jobs[id]
|
job, ok := n.jobs[id]
|
||||||
// 之前此任务没有在当前结点执行
|
// 之前此任务没有在当前结点执行
|
||||||
if !ok {
|
if !ok {
|
||||||
n.delIDs[id] = true
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -302,9 +304,8 @@ func (n *Node) groupRmNode(g, og *models.Group) {
|
||||||
|
|
||||||
for jid, _ := range jls {
|
for jid, _ := range jls {
|
||||||
job, ok := n.jobs[jid]
|
job, ok := n.jobs[jid]
|
||||||
|
// 之前此任务没有在当前结点执行
|
||||||
if !ok {
|
if !ok {
|
||||||
// 数据出错
|
|
||||||
log.Warnf("WTF! group[%s] job[%s]", g.ID, jid)
|
|
||||||
n.link.delGroupJob(g.ID, jid)
|
n.link.delGroupJob(g.ID, jid)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue