crontab.go 986 字节
package crontab

import (
	"context"

	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/log"

	"github.com/beego/beego/v2/task"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/syncdata"
)

type CrontabService struct {
}

func NewCrontabService(options map[string]interface{}) *CrontabService {
	newCrontabService := &CrontabService{}
	return newCrontabService
}

func (crontabService *CrontabService) initTask() {
	//PullDataK3Cloud 晚上0时10分执行
	pullMaterialK3cloud := task.NewTask("pullMaterialK3cloud", "0 10 0 * * *", func(ctx context.Context) error {
		srv := syncdata.PullDataK3CloudService{}
		return srv.PullMaterialNewest()
	})
	task.AddTask("pullMaterialK3cloud", pullMaterialK3cloud)
}

func (crontabService *CrontabService) StartCrontabTask() {
	crontabService.initTask()
	task.StartTask()
	log.Logger.Info("crontab start!")
}

func (crontabService *CrontabService) StopCrontabTask() {
	task.StopTask()
}