Documentation
¶
Index ¶
- Constants
- Variables
- func AddPlan(code string, cfg *PlanConfig) error
- func CancelJob(code, plan string, jobIds ...string) error
- func CancelPlan(code, plan string) error
- func CancelTask(code string) context.Context
- func ExecuteTask(code string, base *types.Time, maxDelay *types.Duration) (string, error)
- func ExistPlan(code, plan string) bool
- func ExistTask(code string) bool
- func JobStatus(code ...string) map[string]map[string]map[string]int32
- func NewTaskWrapper(task Task, maxDelay *types.Duration, maxWaitingJob int32, ...) *taskWrapper
- func PausePlan(code, plan string) error
- func PauseTask(code string)
- func PlanStatus(code ...string) map[string]map[string]int32
- func RegisterTask(task Task, cfg *TaskConfig) error
- func ResumePlan(code, plan string) error
- func ResumeTask(code string)
- func Start()
- func Stop() context.Context
- func TaskJobStatus(code string, plans ...string) map[string]map[string]int32
- func TaskPlanJobStatus(code, plan string, jobIds ...string) map[string]int32
- func TaskPlanStatus(code string, plan ...string) map[string]int32
- func TaskStatus(codes ...string) map[string]int32
- func UpdateTask(task Task, params map[string]any) error
- func WithOpLogger(l OpLogger)
- type OpLogger
- type Operate
- type Option
- type PlanConfig
- type Scheduler
- func (s *Scheduler) AddPlan(code string, cfg *PlanConfig) (err error)
- func (s *Scheduler) CancelJob(code, key string, jobIds ...string) (err error)
- func (s *Scheduler) CancelPlan(code, key string) (err error)
- func (s *Scheduler) CancelTask(code string) context.Context
- func (s *Scheduler) ExecuteTask(code string, baseTime *types.Time, maxDelay *types.Duration) (jobId string, err error)
- func (s *Scheduler) ExistPlan(code, key string) bool
- func (s *Scheduler) ExistTask(code string) (ok bool)
- func (s *Scheduler) JobStatus(codes ...string) map[string]map[string]map[string]int32
- func (s *Scheduler) PausePlan(code, key string) (err error)
- func (s *Scheduler) PauseTask(code string)
- func (s *Scheduler) PlanStatus(codes ...string) map[string]map[string]int32
- func (s *Scheduler) RegisterTask(task Task, cfg *TaskConfig) (err error)
- func (s *Scheduler) ResumePlan(code, key string) (err error)
- func (s *Scheduler) ResumeTask(code string)
- func (s *Scheduler) Start()
- func (s *Scheduler) Stop() context.Context
- func (s *Scheduler) TaskJobStatus(code string, plans ...string) map[string]map[string]int32
- func (s *Scheduler) TaskPlanJobStatus(code, plan string, jobIds ...string) map[string]int32
- func (s *Scheduler) TaskPlanStatus(code string, plans ...string) map[string]int32
- func (s *Scheduler) TaskStatus(codes ...string) map[string]int32
- func (s *Scheduler) UpdateTask(task Task, params map[string]any) (err error)
- func (s *Scheduler) WithOpLogger(l OpLogger)
- type Task
- type TaskConfig
Constants ¶
View Source
const ( OpStart = "start" OpStop = "stop" OpAdd = "add" OpCancel = "cancel" OpUpdate = "update" OpPause = "pause" OpResume = "resume" OpIgnore = "ignore" OpExecute = "execute" )
View Source
const ( TaskNotFound byte TaskIsBusy PlanNotFound PlanStop TooManyJob MaxDelay )
View Source
const ( Idle int32 = iota Running Pause Waiting Cancel Stopped )
View Source
const PlanManual = "manual"
Variables ¶
View Source
var ( ExecuteParamNotFoundErr = errors.New("job execute parameter cron or interval is not specified") ExecuteParamConflictErr = errors.New("can not specify both cron and interval") )
View Source
var ( TaskNotFoundErr = errors.New("task not found") TaskCodeNotFoundErr = errors.New("task for specified name not found") TaskExistErr = errors.New("task already exist") PlanNotFoundErr = errors.New("plan not found") PlanExistErr = errors.New("plan already exist") PlanConfigNotFoundErr = errors.New("plan config not found") )
View Source
var StoppedErr = errors.New("scheduler already stopped")
Functions ¶
func AddPlan ¶ added in v0.0.2
func AddPlan(code string, cfg *PlanConfig) error
func CancelPlan ¶ added in v0.0.2
func CancelTask ¶ added in v0.0.2
func ExecuteTask ¶ added in v0.0.2
func NewTaskWrapper ¶ added in v0.0.2
func RegisterTask ¶
func RegisterTask(task Task, cfg *TaskConfig) error
func ResumePlan ¶ added in v0.0.2
func ResumeTask ¶ added in v0.0.2
func ResumeTask(code string)
func TaskJobStatus ¶ added in v0.0.2
func TaskPlanJobStatus ¶ added in v0.0.2
func TaskPlanStatus ¶ added in v0.0.2
func TaskStatus ¶
func WithOpLogger ¶ added in v0.0.2
func WithOpLogger(l OpLogger)
Types ¶
type Operate ¶ added in v0.0.2
type Operate struct {
Task string `json:"task,omitempty"`
Plan string `json:"plan,omitempty"`
Job string `json:"job,omitempty"`
Op string `json:"op,omitempty"`
PlanTime *types.Time `json:"planTime,omitempty"`
StartTime *types.Time `json:"startTime,omitempty"`
EndTime *types.Time `json:"endTime,omitempty"`
Code byte `json:"code,omitempty"`
}
type PlanConfig ¶ added in v0.0.2
type PlanConfig struct {
Cron string `json:"cron,omitempty"`
Interval *types.Duration `json:"interval,omitempty"`
StopAt *types.Time `json:"stopAt,omitempty"`
// contains filtered or unexported fields
}
func (*PlanConfig) Check ¶ added in v0.0.2
func (cfg *PlanConfig) Check() (err error)
func (*PlanConfig) Key ¶ added in v0.0.2
func (cfg *PlanConfig) Key() string
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
func (*Scheduler) AddPlan ¶ added in v0.0.2
func (s *Scheduler) AddPlan(code string, cfg *PlanConfig) (err error)
func (*Scheduler) CancelPlan ¶ added in v0.0.2
func (*Scheduler) CancelTask ¶ added in v0.0.2
func (*Scheduler) ExecuteTask ¶ added in v0.0.2
func (*Scheduler) PlanStatus ¶ added in v0.0.2
func (*Scheduler) RegisterTask ¶
func (s *Scheduler) RegisterTask(task Task, cfg *TaskConfig) (err error)
func (*Scheduler) ResumePlan ¶ added in v0.0.2
func (*Scheduler) ResumeTask ¶ added in v0.0.2
func (*Scheduler) TaskJobStatus ¶ added in v0.0.2
func (*Scheduler) TaskPlanJobStatus ¶ added in v0.0.2
func (*Scheduler) TaskPlanStatus ¶ added in v0.0.2
func (*Scheduler) TaskStatus ¶ added in v0.0.2
func (*Scheduler) UpdateTask ¶ added in v0.0.2
func (*Scheduler) WithOpLogger ¶ added in v0.0.2
type TaskConfig ¶
type TaskConfig struct {
Code string `json:"code,omitempty"`
Params map[string]any `json:"params,omitempty"`
MaxDelay *types.Duration `json:"maxDelay,omitempty"`
MaxWaitingJob int32 `json:"maxWaitingJob,omitempty"`
Plans []*PlanConfig `json:"plans,omitempty"`
}
func (*TaskConfig) AddParam ¶
func (cfg *TaskConfig) AddParam(key string, value any)
func (*TaskConfig) Check ¶
func (cfg *TaskConfig) Check() (err error)
func (*TaskConfig) SetDefaults ¶ added in v0.0.2
func (cfg *TaskConfig) SetDefaults(defaults map[string]any)
Click to show internal directories.
Click to hide internal directories.