Documentation
¶
Index ¶
- func RegisterCron(cronName string, cron Interface)
- func Run(ctx context.Context)
- type Base
- func (b *Base) AddBaseTaskList(task func())
- func (b *Base) AddProcessAddTaskList(task func())
- func (b *Base) Before(name, lockName string, deadLockExpireTime time.Duration, maxConcurrencyCnt int)
- func (b *Base) Defer()
- func (b *Base) GetIsRun() bool
- func (b *Base) Init(_ Interface)
- func (b *Base) Process()
- func (b *Base) Run()
- type Config
- type ConfigItem
- type CronJobParams
- type DurationJobParams
- type DurationRandomJobParams
- type Interface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterCron ¶
Types ¶
type Base ¶
func (*Base) AddBaseTaskList ¶
func (b *Base) AddBaseTaskList(task func())
func (*Base) AddProcessAddTaskList ¶
func (b *Base) AddProcessAddTaskList(task func())
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"`
DeadLockExpireMillisecond int64 `json:"deadLockExpireMillisecond"`
MaxConcurrencyCnt int `json:"maxConcurrencyCnt"`
JobType string `json:"jobType"`
CronJobParams CronJobParams `json:"cronJobParams"`
DurationJobParams DurationJobParams `json:"durationJobParams"`
DurationRandomJobParams DurationRandomJobParams `json:"durationRandomJobParams"`
}
type CronJobParams ¶
type DurationJobParams ¶
type DurationJobParams struct {
EveryMillisecond int64 `json:"everyMillisecond"`
}
type DurationRandomJobParams ¶
type Interface ¶
type Interface interface {
GetIsRun() bool
AddBaseTaskList(task func())
AddProcessAddTaskList(task func())
// Init 初始化只会执行一次
Init(base Interface)
Process()
Before(name, lockName string, deadLockExpireTime time.Duration, maxConcurrencyCnt int)
Run()
Defer()
}
Interface 执行顺序 Before->Process->Run->Defer 只建议重写 Init 和 Process Init 添加固定执行的脚本,使用 AddBaseTaskList 添加,尽量通过该方法添加 Process 添加运行中才能确定执行的脚本,使用 AddProcessAddTaskList 添加
Click to show internal directories.
Click to hide internal directories.