| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package jobs
- import (
- "fmt"
- "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.Args)
- if err != nil {
- // 如果失败暂停一段时间重试
- fmt.Println(time.Now().Format(timeFormat), " [ERROR] mission failed! ", err)
- }
- // 结束时间
- endTime := time.Now()
- // 执行时间
- latencyTime := endTime.Sub(startTime)
- //TODO: 待完善部分
- //str := time.Now().Format(timeFormat) + " [INFO] JobCore " + string(e.EntryId) + "exec success , spend :" + latencyTime.String()
- //ws.SendAll(str)
- 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
- }
|