Documentation
¶
Index ¶
- Constants
- func HasRunning() bool
- func Location() *time.Location
- func Remove(e *Entry)
- func Start(e *Entry, newInterval ...time.Duration)
- type Entry
- func AddJob(job Job, num uint32, interval time.Duration) *Entry
- func AddJobFunc(f JobFunc, num uint32, interval time.Duration) *Entry
- func AddOneShotJob(job Job, interval time.Duration) *Entry
- func AddOneShotJobFunc(f JobFunc, interval time.Duration) *Entry
- func AddPersistJob(job Job, interval time.Duration) *Entry
- func AddPersistJobFunc(f JobFunc, interval time.Duration) *Entry
- func Entries() []Entry
- func NewEntry(job Job, num uint32, interval time.Duration) *Entry
- func NewFuncEntry(f JobFunc, num uint32, interval time.Duration) *Entry
- func NewOneShotEntry(job Job, interval time.Duration) *Entry
- func NewOneShotFuncEntry(f JobFunc, interval time.Duration) *Entry
- func NewPersistEntry(job Job, interval time.Duration) *Entry
- func NewPersistFuncEntry(f JobFunc, interval time.Duration) *Entry
- type Job
- type JobFunc
- type LogProvider
- type Option
- type Timing
- func (sf *Timing) AddJob(job Job, num uint32, interval time.Duration) *Entry
- func (sf *Timing) AddJobFunc(f JobFunc, num uint32, interval time.Duration) *Entry
- func (sf *Timing) AddOneShotJob(job Job, interval time.Duration) *Entry
- func (sf *Timing) AddOneShotJobFunc(f JobFunc, interval time.Duration) *Entry
- func (sf *Timing) AddPersistJob(job Job, interval time.Duration) *Entry
- func (sf *Timing) AddPersistJobFunc(f JobFunc, interval time.Duration) *Entry
- func (sf *Timing) Close() error
- func (sf *Timing) Debug(format string, v ...interface{})
- func (sf *Timing) Entries() []Entry
- func (sf *Timing) Error(format string, v ...interface{})
- func (sf *Timing) HasRunning() bool
- func (sf *Timing) Location() *time.Location
- func (sf *Timing) LogMode(enable bool)
- func (sf *Timing) Remove(e *Entry)
- func (sf *Timing) Run() *Timing
- func (sf *Timing) Start(e *Entry, newInterval ...time.Duration)
Examples ¶
Constants ¶
const ( OneShot = 1 Persist = 0 )
num define
const (
DefaultJobChanSize = 2048
)
DefaultJobChanSize default job chan size
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Entry ¶
type Entry struct {
// contains filtered or unexported fields
}
Entry consists of a schedule and the func to execute on that schedule.
func AddJobFunc ¶
AddJobFunc add a job function
func AddOneShotJob ¶
AddOneShotJob add one-shot job
func AddOneShotJobFunc ¶
AddOneShotJobFunc add one-shot job function
func AddPersistJob ¶
AddPersistJob add persist job
func AddPersistJobFunc ¶
AddPersistJobFunc add persist job function
func NewFuncEntry ¶
NewFuncEntry new function entry
func NewOneShotEntry ¶
NewOneShotEntry new one-shot entry
func NewOneShotFuncEntry ¶
NewOneShotFuncEntry new one-shot function entry
func NewPersistEntry ¶
NewPersistEntry new persist entry
type LogProvider ¶
type LogProvider interface {
Error(format string, v ...interface{})
Debug(format string, v ...interface{})
}
LogProvider RFC5424 log message levels only Debug and Error
type Option ¶
type Option func(tim *Timing)
Option user's option
func WithGoroutine ¶
WithGoroutine overwrite useGoroutine or goroutine pool if not use goroutine,set it false and the set goroutine pool submit interface
func WithJobChanSize ¶
WithJobChanSize overwrite job chan size,default value is DefaultJobChanSize
func WithLocation ¶
WithLocation overrides the timezone of the instance.
func WithLoggerProvider ¶
func WithLoggerProvider(p LogProvider) Option
WithLoggerProvider override default logger provider
func WithPanicHandler ¶
func WithPanicHandler(f func(err interface{})) Option
type Timing ¶
type Timing struct {
// contains filtered or unexported fields
}
Timing keeps track of any number of entries.
func New ¶
New new a time with option
Example ¶
tim := New(WithGoroutine(true)).Run()
tim.AddOneShotJobFunc(func() {
fmt.Println("1")
}, time.Millisecond*100)
tim.AddJobFunc(func() {
fmt.Println("2")
}, OneShot, time.Millisecond*200)
tim.AddOneShotJob(&testJob{}, time.Millisecond*300)
tim.AddJob(&testJob{}, 2, time.Millisecond*400)
tim.AddOneShotJobFunc(func() {
defer func() {
_ = recover()
}()
panic("painc happen")
}, time.Millisecond*100)
time.Sleep(time.Second * 2)
Output: 1 2 job job job
func (*Timing) AddJobFunc ¶
AddJobFunc add a job function
func (*Timing) AddOneShotJob ¶
AddOneShotJob add one-shot job
func (*Timing) AddOneShotJobFunc ¶
AddOneShotJobFunc add one-shot job function
func (*Timing) AddPersistJob ¶
AddPersistJob add persist job
func (*Timing) AddPersistJobFunc ¶
AddPersistJobFunc add persist job function
func (*Timing) Debug ¶
func (sf *Timing) Debug(format string, v ...interface{})
Debug Log DEBUG level message.
func (*Timing) Error ¶
func (sf *Timing) Error(format string, v ...interface{})
Error Log ERROR level message.
func (*Timing) LogMode ¶
func (sf *Timing) LogMode(enable bool)
LogMode set enable or disable log output when you has set defaultLogger