本文整理匯總了Golang中github.com/hypertornado/prago.App.AddCronTask方法的典型用法代碼示例。如果您正苦於以下問題:Golang App.AddCronTask方法的具體用法?Golang App.AddCronTask怎麽用?Golang App.AddCronTask使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/hypertornado/prago.App
的用法示例。
在下文中一共展示了App.AddCronTask方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: bindDBBackupCron
func bindDBBackupCron(app *prago.App) {
app.AddCronTask("backup db", func() {
err := extensions.BackupApp(app)
if err != nil {
app.Log().Error("Error while creating backup:", err)
}
}, func(t time.Time) time.Time {
return t.AddDate(0, 0, 1)
})
app.AddCronTask("remove old backups", func() {
app.Log().Println("Removing old backups")
deadline := time.Now().AddDate(0, 0, -7)
backupPath := app.DotPath() + "/backups"
files, err := ioutil.ReadDir(backupPath)
if err != nil {
app.Log().Println("error while removing old backups:", err)
return
}
for _, file := range files {
if file.ModTime().Before(deadline) {
removePath := backupPath + "/" + file.Name()
err := os.RemoveAll(removePath)
if err != nil {
app.Log().Println("Error while removing old backup file:", err)
}
}
}
app.Log().Println("Old backups removed")
}, func(t time.Time) time.Time {
return t.Add(1 * time.Hour)
})
}