使用Gin和JobRunner

时间:2018-02-01 07:55:57

标签: mongodb go mgo gin

我正在使用JobRunner(https://github.com/bamzi/jobrunner)作为我的Golang项目的调度程序和GIn-gonic框架(我刚学习Go大约1周)。

我已经尝试过这个包,但它确实有效。问题是当我想连接到我的数据库时,我无法在日程安排功能

中访问gin上下文
func ScheduleUrl() {
   jobrunner.Start() // optional: jobrunner.Start(pool int, concurrent int) (10, 1)
   jobrunner.Schedule("@every 20s", CheckExpiredUrl{})
}

// Job Specific Functions
type CheckExpiredUrl struct {
// filtered
}


  // ReminderEmails.Run() will get triggered automatically.
func (e CheckExpiredUrl) Run() {
  // Queries the DB
  // Sends some email
  fmt.Println("Every 20 sec Check Expired Url ")

  db := c.MustGet("db").(*mgo.Database)
  urls := []models.Url{}
  err := db.C(models.CollectionUrl).Find(nil).Sort("-expired_at").All(&urls)
  if err != nil {
      c.Error(err)
  }
}

我需要使用c * gin.Context

在jobrunner函数内部,以及如何做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用jobrunner.Now(NowDo {})并将gin上下文传递给其中