4 Star 5 Fork 5

Plato/Service-Box-go

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
options.go 1.73 KB
一键复制 编辑 原始数据 按行查看 历史
package scheduler
import "time"
type (
// Option 定时器配置修改函数原型
Option func(options *Options)
// TaskOption 定时任务配置修改函数原型
TaskOption func(options *TaskOptions)
// Options is the scheduler config
Options struct {
Location *time.Location `yaml:"location"` // 定时器时区,
MaxConcurrentJobs int `yaml:"max_concurrent_jobs"` // 最大定时任务数量
}
// TaskOptions 定时任务配置
TaskOptions struct {
// immediately 被设置会立刻执行一次task,而非等到任务被调度
immediately bool
// count 设置任务执行次数, 默认无限循环任务
count int
// singleMode 会等待前一个任务执行结束后才会执行,独占调度器, 默认关闭
singleMode int
// tag 任务标签,用于批量查找和批量删除一类任务
tag string
// interval 设置任务执行间隔,默认1s
interval time.Duration
}
)
func NewTaskOptions() *TaskOptions {
return &TaskOptions{
immediately: false,
count: -1,
singleMode: 0,
tag: "",
}
}
func NewOptions() *Options {
return &Options{
Location: time.UTC,
}
}
func WithMaxJobCount(count int) Option {
return func(options *Options) {
options.MaxConcurrentJobs = count
}
}
func WithImmediatelyTask(immediately bool) TaskOption {
return func(options *TaskOptions) {
options.immediately = immediately
}
}
func WithCountTask(count int) TaskOption {
return func(options *TaskOptions) {
options.count = count
}
}
func WithSingleModeTask(singleMode int) TaskOption {
return func(options *TaskOptions) {
options.singleMode = singleMode
}
}
func WithTagTask(tag string) TaskOption {
return func(options *TaskOptions) {
options.tag = tag
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/dennis-kk/service-box-go.git
git@gitee.com:dennis-kk/service-box-go.git
dennis-kk
service-box-go
Service-Box-go
v0.5.25

搜索帮助