31 lines
565 B
Go
31 lines
565 B
Go
package worker
|
|
|
|
import (
|
|
Gs "git.u8t.cn/open/go-server"
|
|
"github.com/go-co-op/gocron"
|
|
)
|
|
|
|
type Worker struct {
|
|
}
|
|
|
|
func NewWorker() *Worker {
|
|
return &Worker{}
|
|
}
|
|
|
|
func (w *Worker) Run(cron *gocron.Scheduler) {
|
|
Gs.InitWorker(cron)
|
|
|
|
// 每小时巡检各包版本使用人数,达到阈值时预警通知
|
|
var pkgLimit PkgLimit
|
|
cron.Every(1).Hour().Do(func() {
|
|
pkgLimit.CheckLimit()
|
|
})
|
|
|
|
// 每天 18:00 汇总所有可用包各版本的过期情况,发送报告
|
|
cron.Every(1).Day().At("18:00").Do(func() {
|
|
pkgLimit.DailyReport()
|
|
})
|
|
|
|
cron.StartAsync()
|
|
}
|