diff --git a/kernel/job/cron.go b/kernel/job/cron.go index b61bbe43b..ee870d348 100644 --- a/kernel/job/cron.go +++ b/kernel/job/cron.go @@ -32,7 +32,7 @@ func StartCron() { go every(5*time.Second, task.StatusJob) go every(5*time.Second, model.SyncDataJob) go every(2*time.Hour, model.StatJob) - go every(6*time.Hour, util.RefreshRhyResultJob) + go every(6*time.Hour, util.RefreshRhyResultJob, "RefreshRhyResultJob") go every(2*time.Hour, model.RefreshCheckJob) go every(3*time.Second, model.FlushUpdateRefTextRenameDocJob) go every(util.SQLFlushInterval, sql.FlushTxJob) @@ -50,14 +50,17 @@ func StartCron() { //go every(3*time.Second, model.WatchLocalShorthands) } -func every(interval time.Duration, f func()) { +func every(interval time.Duration, f func(), name ...string) { util.RandomSleep(50, 200) - for { + ticker := time.NewTicker(interval) + defer ticker.Stop() + for range ticker.C { func() { defer logging.Recover() f() + if 0 < len(name) { + logging.LogInfof("cron job [%s] executed", name) + } }() - - time.Sleep(interval) } }