cron

package
v1.14.0-rc6 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2021 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewContext

func NewContext()

NewContext begins cron tasks Each cron task is run within the shutdown context as a running server AtShutdown the cron server is stopped

func RegisterTask

func RegisterTask(name string, config Config, fun func(context.Context, *models.User, Config) error) error

RegisterTask allows a task to be registered with the cron service

func RegisterTaskFatal

func RegisterTaskFatal(name string, config Config, fun func(context.Context, *models.User, Config) error)

RegisterTaskFatal will register a task but if there is an error log.Fatal

Types

type BaseConfig

type BaseConfig struct {
	Enabled         bool
	RunAtStart      bool
	Schedule        string
	NoSuccessNotice bool
}

BaseConfig represents the basic config for a Cron task

func (*BaseConfig) DoNoticeOnSuccess

func (b *BaseConfig) DoNoticeOnSuccess() bool

DoNoticeOnSuccess returns whether a success notice should be posted

func (*BaseConfig) DoRunAtStart

func (b *BaseConfig) DoRunAtStart() bool

DoRunAtStart returns whether the task should be run at the start

func (*BaseConfig) FormatMessage

func (b *BaseConfig) FormatMessage(name, status string, doer *models.User, args ...interface{}) string

FormatMessage returns a message for the task

func (*BaseConfig) GetSchedule

func (b *BaseConfig) GetSchedule() string

GetSchedule returns the schedule for the base config

func (*BaseConfig) IsEnabled

func (b *BaseConfig) IsEnabled() bool

IsEnabled returns the enabled status for the config

type CleanupHookTaskConfig

type CleanupHookTaskConfig struct {
	BaseConfig
	CleanupType  string
	OlderThan    time.Duration
	NumberToKeep int
}

CleanupHookTaskConfig represents a cron task with settings to cleanup hook_task

type Config

type Config interface {
	IsEnabled() bool
	DoRunAtStart() bool
	GetSchedule() string
	FormatMessage(name, status string, doer *models.User, args ...interface{}) string
	DoNoticeOnSuccess() bool
}

Config represents a basic configuration interface that cron task

type OlderThanConfig

type OlderThanConfig struct {
	BaseConfig
	OlderThan time.Duration
}

OlderThanConfig represents a cron task with OlderThan setting

type Task

type Task struct {
	Name string

	ExecTimes int64
	// contains filtered or unexported fields
}

Task represents a Cron task

func GetTask

func GetTask(name string) *Task

GetTask gets the named task

func (*Task) DoRunAtStart

func (t *Task) DoRunAtStart() bool

DoRunAtStart returns if this task should run at the start

func (*Task) GetConfig

func (t *Task) GetConfig() Config

GetConfig will return a copy of the task's config

func (*Task) IsEnabled

func (t *Task) IsEnabled() bool

IsEnabled returns if this task is enabled as cron task

func (*Task) Run

func (t *Task) Run()

Run will run the task incrementing the cron counter with no user defined

func (*Task) RunWithUser

func (t *Task) RunWithUser(doer *models.User, config Config)

RunWithUser will run the task incrementing the cron counter at the time with User

type TaskTable

type TaskTable []*TaskTableRow

TaskTable represents a table of tasks

func ListTasks

func ListTasks() TaskTable

ListTasks returns all running cron tasks.

type TaskTableRow

type TaskTableRow struct {
	Name      string
	Spec      string
	Next      time.Time
	Prev      time.Time
	ExecTimes int64
}

TaskTableRow represents a task row in the tasks table

type UpdateExistingConfig

type UpdateExistingConfig struct {
	BaseConfig
	UpdateExisting bool
}

UpdateExistingConfig represents a cron task with UpdateExisting setting

Jump to

Keyboard shortcuts

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