core

package
v2.1.4 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const MAXJOBNUM = 10000

Max number of jobs, hack it if you need.

Variables

View Source
var Default = NewScheduler()

Functions

func ChangeLoc

func ChangeLoc(newLocation *time.Location)

Change the time location

Types

type Job

type Job struct {
	// contains filtered or unexported fields
}

func NewJob

func NewJob(intervel uint64) *Job

Create a new job with the time interval.

func (*Job) At

func (j *Job) At(t string) *Job

s.Every(1).Day().At("10:30").Do(task) s.Every(1).Monday().At("10:30").Do(task)

func (*Job) Day

func (j *Job) Day() (job *Job)

Set the job's unit with day, which interval is 1

func (*Job) Days

func (j *Job) Days() *Job

Set the job's unit with days

func (*Job) Do

func (j *Job) Do(jobFun interface{}, params ...interface{}) *Job

Specifies the jobFunc that should be called every time the job runs

func (*Job) Friday

func (j *Job) Friday() (job *Job)

Set the start day with friday

func (*Job) Hour

func (j *Job) Hour() (job *Job)

set the unit with hour, which interval is 1

func (*Job) Hours

func (j *Job) Hours() (job *Job)

Set the unit with hours

func (*Job) Minute

func (j *Job) Minute() (job *Job)

Set the unit with minute, which interval is 1

func (*Job) Minutes

func (j *Job) Minutes() (job *Job)

set the unit with minute

func (*Job) Monday

func (j *Job) Monday() (job *Job)

s.Every(1).Monday().Do(task) Set the start day with Monday

func (*Job) NextScheduledTime

func (j *Job) NextScheduledTime() time.Time

NextScheduledTime returns the time of when this job is to run next

func (*Job) Run

func (j *Job) Run() (result []reflect.Value, err error)

Run the job and immediately reschedule it

func (*Job) Saturday

func (j *Job) Saturday() (job *Job)

Set the start day with saturday

func (*Job) Second

func (j *Job) Second() (job *Job)

Set the unit with second

func (*Job) Seconds

func (j *Job) Seconds() (job *Job)

Set the unit with seconds

func (*Job) Sunday

func (j *Job) Sunday() (job *Job)

Set the start day with sunday

func (*Job) Thursday

func (j *Job) Thursday() (job *Job)

Set the start day with thursday

func (*Job) Tuesday

func (j *Job) Tuesday() (job *Job)

Set the start day with Tuesday

func (*Job) Wednesday

func (j *Job) Wednesday() (job *Job)

Set the start day woth Wednesday

func (*Job) Weeks

func (j *Job) Weeks() *Job

Set the units as weeks

type Scheduler

type Scheduler struct {
	// contains filtered or unexported fields
}

Class Scheduler, the only data member is the list of jobs.

func NewScheduler

func NewScheduler() *Scheduler

Create a new scheduler

func (*Scheduler) Clear

func (s *Scheduler) Clear()

Delete all scheduled jobs

func (*Scheduler) Every

func (s *Scheduler) Every(interval uint64) *Job

Schedule a new periodic job

func (*Scheduler) Len

func (s *Scheduler) Len() int

func (*Scheduler) Less

func (s *Scheduler) Less(i, j int) bool

func (*Scheduler) NextRun

func (s *Scheduler) NextRun() (*Job, time.Time)

Datetime when the next job should run. NextRun gets the next running time

func (*Scheduler) Remove

func (s *Scheduler) Remove(j interface{})

Remove specific job j

func (*Scheduler) RunAll

func (s *Scheduler) RunAll()

Run all jobs regardless if they are scheduled to run or not

func (*Scheduler) RunAllwithDelay

func (s *Scheduler) RunAllwithDelay(d int)

Run all jobs with delay seconds

A delay of 'delay' seconds is added between each job. This can help to distribute the system load generated by the jobs more evenly over time.

func (*Scheduler) RunPending

func (s *Scheduler) RunPending()

Run all the jobs that are scheduled to run. Run all jobs that are scheduled to run

Please note that it is *intended behavior that run_pending() does not run missed jobs*. For example, if you've registered a job that should run every minute and you only call run_pending() in one hour increments then your job won't be run 60 times in between but only once.

func (*Scheduler) Start

func (s *Scheduler) Start() chan bool

Run all jobs that are scheduled to run Add seconds ticker

func (*Scheduler) Swap

func (s *Scheduler) Swap(i, j int)

Jump to

Keyboard shortcuts

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