cron

package
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterCron

func RegisterCron(cronName string, cron Interface)

func Run

func Run()

Types

type Base

type Base struct {
	Ctx               context.Context
	MaxConcurrencyCnt int
	IsRun             bool
	LockName          string
	// contains filtered or unexported fields
}

func (*Base) AddBaseTaskList

func (b *Base) AddBaseTaskList(task func())

func (*Base) AddProcessAddTaskList

func (b *Base) AddProcessAddTaskList(task func())

func (*Base) Before

func (b *Base) Before(name, lockName string, deadLockExpireSecond time.Duration, maxConcurrencyCnt int)

func (*Base) Defer

func (b *Base) Defer()

func (*Base) GetIsRun

func (b *Base) GetIsRun() bool

func (*Base) Init

func (b *Base) Init(_ Interface)

func (*Base) Process

func (b *Base) Process()

func (*Base) Run

func (b *Base) Run()

type Config

type Config struct {
	LockPreName string       `json:"lockPreName"`
	IsRunCron   bool         `json:"isRunCron"`
	CronList    []ConfigItem `json:"cronList"`
}

type ConfigItem

type ConfigItem struct {
	Name                 string        `json:"name"`
	EveryMillisecond     time.Duration `json:"everyMillisecond"`
	DeadLockExpireSecond time.Duration `json:"deadLockExpireSecond"`
	MaxConcurrencyCnt    int           `json:"maxConcurrencyCnt"`
}

type Interface

type Interface interface {
	GetIsRun() bool
	AddBaseTaskList(task func())
	AddProcessAddTaskList(task func())

	// Init 初始化只会执行一次
	Init(base Interface)
	Process()

	Before(name, lockName string, deadLockExpireSecond time.Duration, maxConcurrencyCnt int)
	Run()
	Defer()
}

Interface 执行顺序 Before->Process->Run->Defer 只建议重写 Init 和 Process Init 添加固定执行的脚本,使用 AddBaseTaskList 添加,尽量通过该方法添加 Process 添加运行中才能确定执行的脚本,使用 AddProcessAddTaskList 添加

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL