123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package dep
- import (
- "kpt-pasture/config"
- "kpt-pasture/module/crontab"
- "go.uber.org/dig"
- "gitee.com/xuyiping_admin/pkg/cron"
- prom "github.com/prometheus/client_golang/prometheus"
- )
- var DataCenterCrontabCounterVec = prom.NewCounterVec(
- prom.CounterOpts{
- Namespace: "kpt-pasture",
- Subsystem: "crontab",
- Name: "crontab",
- },
- []string{"name"},
- )
- func DICrontabService() (out *cron.Crontab) {
- container := DI()
- if err := container.Provide(EntryCrontab); err != nil {
- panic(err)
- }
- if err := container.Invoke(func(c *cron.Crontab) { out = c }); err != nil {
- panic(err)
- }
- return
- }
- // CrontabDependency 依赖注入结构体
- type CrontabDependency struct {
- dig.In
- CrontabHub crontab.Crontab // 定时任务
- }
- func EntryCrontab(dependency CrontabDependency) *cron.Crontab {
- cfg := config.Options()
- cs := cfg.CronSetting
- newCrontab := cron.NewCrontab(DataCenterCrontabCounterVec)
- err := newCrontab.Bind("UpdateCowDayAge", cs.UpdateCowDayAge, dependency.CrontabHub.UpdateCowInfo)
- if err != nil {
- panic(err)
- }
- err = newCrontab.Bind("GenerateWorkOrder", cs.GenerateWorkOrder, dependency.CrontabHub.GenerateAsynqWorkOrder)
- if err != nil {
- panic(err)
- }
- return newCrontab
- }
|