init.go 568 B

123456789101112131415161718192021222324252627282930
  1. package crontask
  2. import (
  3. "context"
  4. "wechat-api/internal/svc"
  5. "github.com/robfig/cron/v3"
  6. "github.com/zeromicro/go-zero/core/logx"
  7. )
  8. type CronTask struct {
  9. logx.Logger
  10. ctx context.Context
  11. svcCtx *svc.ServiceContext
  12. }
  13. func NewCronTask(ctx context.Context, svcCtx *svc.ServiceContext) *CronTask {
  14. return &CronTask{
  15. Logger: logx.WithContext(ctx),
  16. ctx: ctx,
  17. svcCtx: svcCtx,
  18. }
  19. }
  20. func ScheduleRun(c *cron.Cron, serverCtx *svc.ServiceContext) {
  21. l := NewCronTask(context.Background(), serverCtx)
  22. c.AddFunc("* * * * *", func() {
  23. l.sendMsg()
  24. })
  25. }