package jobs import ( "time" "github.com/robfig/cron/v3" ) type ExecJob struct { JobCore } func (e *ExecJob) Run() { startTime := time.Now() var obj = jobList[e.InvokeTarget] if obj == nil { jobLogger.Warnf("[Job] ExecJob Run jobs nil [%s]", e.Name) return } err := CallExec(obj.(JobExec), &e.JobCore) if err != nil { jobLogger.Errorf("[%s] EXEC FAILED! %s", e.Name, err.Error()) } // 结束时间 endTime := time.Now() // 执行时间 latencyTime := endTime.Sub(startTime) jobLogger.Infof("[%s] EXEC SUCCESS , SPEND :%v", e.Name, latencyTime) return } func (e *ExecJob) addJob(c *cron.Cron) (int, error) { id, err := c.AddJob(e.CronExpression, e) if err != nil { jobLogger.Errorf("AddJob ERROR: %s", err.Error()) return 0, err } EntryId := int(id) return EntryId, nil }