quartz

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2019 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HashCode

func HashCode(s string) int

func NowNano

func NowNano() int64

Types

type CronExpressionParser

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

func NewCronExpressionParser

func NewCronExpressionParser(lastDefined int) *CronExpressionParser

type CronField

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

type CronTrigger

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

func NewCronTrigger

func NewCronTrigger(expr string) (*CronTrigger, error)

func (*CronTrigger) Description

func (st *CronTrigger) Description() string

func (*CronTrigger) NextFireTime

func (ct *CronTrigger) NextFireTime(prev int64) (int64, error)

type CurlJob added in v0.3.0

type CurlJob struct {
	RequestMethod string
	Url           string
	Body          string
	Headers       map[string]string
	Response      string
	StatusCode    int
	JobStatus     JobStatus
	// contains filtered or unexported fields
}

CurlJob executes curl command

func NewCurlJob added in v0.3.0

func NewCurlJob(method string, url string, body string, headers map[string]string) (*CurlJob, error)

func (*CurlJob) Description added in v0.3.0

func (cu *CurlJob) Description() string

func (*CurlJob) Execute added in v0.3.0

func (cu *CurlJob) Execute()

func (*CurlJob) Key added in v0.3.0

func (cu *CurlJob) Key() int

type Item

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

PriorityQueue Item

type Job

type Job interface {
	Execute()
	Description() string
	Key() int
}

type JobStatus added in v0.3.0

type JobStatus int8
const (
	NA JobStatus = iota
	OK
	FAILURE
)

type PriorityQueue

type PriorityQueue []*Item

implements heap.Interface

func (*PriorityQueue) Head

func (pq *PriorityQueue) Head() *Item

func (PriorityQueue) Len

func (pq PriorityQueue) Len() int

func (PriorityQueue) Less

func (pq PriorityQueue) Less(i, j int) bool

func (*PriorityQueue) Pop

func (pq *PriorityQueue) Pop() interface{}

func (*PriorityQueue) Push

func (pq *PriorityQueue) Push(x interface{})

func (PriorityQueue) Swap

func (pq PriorityQueue) Swap(i, j int)

func (*PriorityQueue) Update

func (pq *PriorityQueue) Update(item *Item, nextRunTime int64)

type RunOnceTrigger

type RunOnceTrigger struct {
	Delay time.Duration
	// contains filtered or unexported fields
}

func NewRunOnceTrigger

func NewRunOnceTrigger(delay time.Duration) *RunOnceTrigger

New run once trigger with delay

func (*RunOnceTrigger) Description

func (st *RunOnceTrigger) Description() string

func (*RunOnceTrigger) NextFireTime

func (st *RunOnceTrigger) NextFireTime(prev int64) (int64, error)

type ScheduledJob

type ScheduledJob struct {
	Job                Job
	TriggerDescription string
	NextRunTime        int64
}

type Scheduler

type Scheduler interface {
	//start scheduler
	Start()
	//schedule Job with given Trigger
	ScheduleJob(job Job, trigger Trigger) error
	//get all scheduled Job keys
	GetJobKeys() []int
	//get scheduled Job metadata
	GetScheduledJob(key int) (*ScheduledJob, error)
	//remove Job from execution queue
	DeleteJob(key int) error
	//clear all scheduled jobs
	Clear()
	//shutdown scheduler
	Stop()
}

type ShellJob added in v0.3.0

type ShellJob struct {
	Cmd       string
	Result    string
	JobStatus JobStatus
}

ShellJob executes shell command need to take runtime.GOOS into consideration

func NewShellJob added in v0.3.0

func NewShellJob(cmd string) *ShellJob

func (*ShellJob) Description added in v0.3.0

func (sh *ShellJob) Description() string

func (*ShellJob) Execute added in v0.3.0

func (sh *ShellJob) Execute()

func (*ShellJob) Key added in v0.3.0

func (sh *ShellJob) Key() int

type SimpleTrigger

type SimpleTrigger struct {
	Interval time.Duration
}

func NewSimpleTrigger

func NewSimpleTrigger(interval time.Duration) *SimpleTrigger

Simple trigger to reschedule Job by Duration interval

func (*SimpleTrigger) Description

func (st *SimpleTrigger) Description() string

func (*SimpleTrigger) NextFireTime

func (st *SimpleTrigger) NextFireTime(prev int64) (int64, error)

type StdScheduler

type StdScheduler struct {
	sync.Mutex
	Queue *PriorityQueue
	// contains filtered or unexported fields
}

implements quartz.Scheduler interface

func NewStdScheduler

func NewStdScheduler() *StdScheduler

func (*StdScheduler) Clear

func (sched *StdScheduler) Clear()

func (*StdScheduler) DeleteJob

func (sched *StdScheduler) DeleteJob(key int) error

func (*StdScheduler) GetJobKeys

func (sched *StdScheduler) GetJobKeys() []int

func (*StdScheduler) GetScheduledJob

func (sched *StdScheduler) GetScheduledJob(key int) (*ScheduledJob, error)

func (*StdScheduler) ScheduleJob

func (sched *StdScheduler) ScheduleJob(job Job, trigger Trigger) error

func (*StdScheduler) Start

func (sched *StdScheduler) Start()

func (*StdScheduler) Stop

func (sched *StdScheduler) Stop()

type Trigger

type Trigger interface {
	NextFireTime(prev int64) (int64, error)
	Description() string
}

Jump to

Keyboard shortcuts

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