scheduler

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrJobNotFound      = fmt.Errorf("job not found")
	ErrJobExpired       = fmt.Errorf("job expired")
	ErrJobAlreadyExists = fmt.Errorf("job already exists")
	ErrJobFailed        = fmt.Errorf("job failed")
	ErrJobDuplicate     = fmt.Errorf("job duplicate(s) found")
)

Functions

This section is empty.

Types

type BetrayalScheduler

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

BetrayalScheduler is a wrapper around gocron.Scheduler that adds additional functionality to the scheduler for the Betrayal Discord bot.

func NewScheduler

func NewScheduler(dbJobs data.Models) *BetrayalScheduler

func (*BetrayalScheduler) Clear

func (bs *BetrayalScheduler) Clear()

func (*BetrayalScheduler) DeleteJob

func (bs *BetrayalScheduler) DeleteJob(jobID string) error

func (*BetrayalScheduler) GetJob

func (bs *BetrayalScheduler) GetJob(jobID string) (*gocron.Job, error)

func (*BetrayalScheduler) GetScheduler

func (bs *BetrayalScheduler) GetScheduler() *gocron.Scheduler

Get uunderlying gocron.Scheduler

func (*BetrayalScheduler) InsertJob

func (bs *BetrayalScheduler) InsertJob(jobData *data.InventoryCronJob, jf func()) error

Insert a one-time job into the scheduler, will overwrite any existing job with the same ID

func (*BetrayalScheduler) InvokeJob

func (bs *BetrayalScheduler) InvokeJob(jobID string, jf func()) error

Manualyly invoke a job by ID and then remove it from the database (really for when the job is already expired i.e bot down when timer expired)

func (*BetrayalScheduler) JobExists

func (bs *BetrayalScheduler) JobExists(jobID string) bool

func (*BetrayalScheduler) QueueScheduleJobs

func (bs *BetrayalScheduler) QueueScheduleJobs(session *discordgo.Session) error

func (*BetrayalScheduler) RescheduleJob

func (bs *BetrayalScheduler) RescheduleJob(jobData *data.InventoryCronJob, jf func()) error

func (*BetrayalScheduler) ScheduleEffect

func (bs *BetrayalScheduler) ScheduleEffect(effect string, inv *data.Inventory, duration time.Duration, s *discordgo.Session, expired ...bool) error

func (*BetrayalScheduler) ScheduleStatus

func (bs *BetrayalScheduler) ScheduleStatus(status string, inv *data.Inventory, duration time.Duration, s *discordgo.Session, expired ...bool) error

func (*BetrayalScheduler) Start

func (bs *BetrayalScheduler) Start()

Start the scheduler

func (*BetrayalScheduler) Stop

func (bs *BetrayalScheduler) Stop()

Jump to

Keyboard shortcuts

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