cron

package
v1.15.10 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2022 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 added in v1.12.0

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 added in v1.12.0

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 added in v1.12.0

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

BaseConfig represents the basic config for a Cron task

func (*BaseConfig) DoNoticeOnSuccess added in v1.13.0

func (b *BaseConfig) DoNoticeOnSuccess() bool

DoNoticeOnSuccess returns whether a success notice should be posted

func (*BaseConfig) DoRunAtStart added in v1.12.0

func (b *BaseConfig) DoRunAtStart() bool

DoRunAtStart returns whether the task should be run at the start

func (*BaseConfig) FormatMessage added in v1.12.0

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

FormatMessage returns a message for the task

func (*BaseConfig) GetSchedule added in v1.12.0

func (b *BaseConfig) GetSchedule() string

GetSchedule returns the schedule for the base config

func (*BaseConfig) IsEnabled added in v1.12.0

func (b *BaseConfig) IsEnabled() bool

IsEnabled returns the enabled status for the config

type CleanupHookTaskConfig added in v1.14.0

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

CleanupHookTaskConfig represents a cron task with settings to cleanup hook_task

type Config added in v1.12.0

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 added in v1.12.0

type OlderThanConfig struct {
	BaseConfig
	OlderThan time.Duration
}

OlderThanConfig represents a cron task with OlderThan setting

type Task added in v1.12.0

type Task struct {
	Name string

	ExecTimes int64
	// contains filtered or unexported fields
}

Task represents a Cron task

func GetTask added in v1.12.0

func GetTask(name string) *Task

GetTask gets the named task

func (*Task) DoRunAtStart added in v1.12.0

func (t *Task) DoRunAtStart() bool

DoRunAtStart returns if this task should run at the start

func (*Task) GetConfig added in v1.12.0

func (t *Task) GetConfig() Config

GetConfig will return a copy of the task's config

func (*Task) IsEnabled added in v1.12.0

func (t *Task) IsEnabled() bool

IsEnabled returns if this task is enabled as cron task

func (*Task) Run added in v1.12.0

func (t *Task) Run()

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

func (*Task) RunWithUser added in v1.12.0

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 added in v1.12.0

type TaskTable []*TaskTableRow

TaskTable represents a table of tasks

func ListTasks

func ListTasks() TaskTable

ListTasks returns all running cron tasks.

type TaskTableRow added in v1.12.0

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 added in v1.12.0

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