我在Golang项目中使用JobRunner作为调度程序,并使用Gin-gonic框架。
我已经尝试过该软件包,并且可以正常工作。问题是,当我想连接到数据库时,无法访问schedule函数内的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)
}
}
我需要在jobrunner函数中使用c * gin.Context,应该怎么做? 最佳答案
您可以使用jobrunner.Now(NowDo {})并将gin上下文传递给它