scheduler

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Close

func Close()

func PushTask

func PushTask(task Task)

func Sched

func Sched()

Types

type DefaultScheduler

type DefaultScheduler struct{}

DefaultScheduler 无消息队列的任务处理

每个读线程 会同时进行访问 存在并发问题

func NewDefaultScheduler

func NewDefaultScheduler() *DefaultScheduler

func (*DefaultScheduler) Schedule

func (defaultScheduler *DefaultScheduler) Schedule(task Task)

Schedule 每个读线程直接执行

type Hook

type Hook func()

type LocalScheduler

type LocalScheduler interface {
	Schedule(Task)
}

LocalScheduler schedules task to a customized goroutine

type QueueLocalScheduler

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

按会话进行绑定

func NewQueueLocalScheduler

func NewQueueLocalScheduler() *QueueLocalScheduler

QueueLocalScheduler

func (*QueueLocalScheduler) Sched

func (localScheduler *QueueLocalScheduler) Sched()

Sched 消息自定义协程任务

func (*QueueLocalScheduler) Schedule

func (localScheduler *QueueLocalScheduler) Schedule(task Task)

Schedule 读协程往自定义消息队列写入任务

type Task

type Task func()

type Timer

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

Timer represents a cron job

func NewAfterTimer

func NewAfterTimer(duration time.Duration, fn TimerFunc) *Timer

NewAfterTimer returns a new Timer containing a function that will be called after duration that specified by the duration argument. The duration d must be greater than zero; if not, NewAfterTimer will panic. Stop the timer to release associated resources.

func NewCondTimer

func NewCondTimer(condition TimerCondition, fn TimerFunc) *Timer

NewCondTimer returns a new Timer containing a function that will be called when condition satisfied that specified by the condition argument. The duration d must be greater than zero; if not, NewCondTimer will panic. Stop the timer to release associated resources.

func NewCountTimer

func NewCountTimer(interval time.Duration, count int, fn TimerFunc) *Timer

NewCountTimer returns a new Timer containing a function that will be called with a period specified by the duration argument. After count times, timer will be stopped automatically, It adjusts the intervals for slow receivers. The duration d must be greater than zero; if not, NewCountTimer will panic. Stop the timer to release associated resources.

func NewTimer

func NewTimer(interval time.Duration, fn TimerFunc) *Timer

NewTimer returns a new Timer containing a function that will be called with a period specified by the duration argument. It adjusts the intervals for slow receivers. The duration d must be greater than zero; if not, NewTimer will panic. Stop the timer to release associated resources.

func (*Timer) ID

func (t *Timer) ID() int64

ID returns id of current timer

func (*Timer) Stop

func (t *Timer) Stop()

Stop turns off a timer. After Stop, fn will not be called forever

type TimerCondition

type TimerCondition interface {
	Check(now time.Time) bool
}

TimerCondition represents a checker that returns true when cron job needs to execute

type TimerFunc

type TimerFunc func()

TimerFunc represents a function which will be called periodically in main logic gorontine.

Jump to

Keyboard shortcuts

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