scheduler

package
v1.55.0 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HandleSchedulerJobs

func HandleSchedulerJobs(w http.ResponseWriter, r *http.Request)

HandleSchedulerJobs returns the list of scheduled jobs/tasks

func HandleSchedulerStart

func HandleSchedulerStart(w http.ResponseWriter, r *http.Request)

HandleSchedulerStart starts the scheduler

func HandleSchedulerStatus

func HandleSchedulerStatus(w http.ResponseWriter, r *http.Request)

HandleSchedulerStatus returns the current scheduler status

func HandleSchedulerStop

func HandleSchedulerStop(w http.ResponseWriter, r *http.Request)

HandleSchedulerStop stops the scheduler

func HandleSchedulerTrigger

func HandleSchedulerTrigger(w http.ResponseWriter, r *http.Request)

HandleSchedulerTrigger manually triggers a scheduler tick

Types

type Job

type Job struct {
	ID          string  `json:"id"`
	Title       string  `json:"title"`
	Description *string `json:"description,omitempty"`
	Status      string  `json:"status"`
	ExecuteAt   *string `json:"execute_at,omitempty"`
	NextRun     *string `json:"next_run,omitempty"`
	Recurrence  *string `json:"recurrence,omitempty"`
	CreatedAt   string  `json:"created_at"`
}

Job represents a scheduled task

type Scheduler

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

func GetScheduler

func GetScheduler(config SchedulerConfig) *Scheduler

GetScheduler returns the global scheduler instance

func (*Scheduler) GetJobs

func (s *Scheduler) GetJobs() ([]Job, error)

GetJobs returns all scheduled tasks from the database

func (*Scheduler) GetStatus

func (s *Scheduler) GetStatus() SchedulerStatus

GetStatus returns current scheduler status

func (*Scheduler) IsRunning

func (s *Scheduler) IsRunning() bool

IsRunning returns whether the scheduler is currently running

func (*Scheduler) SetDatabase

func (s *Scheduler) SetDatabase(db *sql.DB)

SetDatabase sets the database connection for the scheduler

func (*Scheduler) Start

func (s *Scheduler) Start() error

Start begins the scheduler ticker

func (*Scheduler) Stop

func (s *Scheduler) Stop()

Stop gracefully stops the scheduler

func (*Scheduler) TriggerTick

func (s *Scheduler) TriggerTick() error

TriggerTick manually triggers a scheduler tick (for API endpoint)

func (*Scheduler) UpdateConfig

func (s *Scheduler) UpdateConfig(config SchedulerConfig) error

UpdateConfig updates the scheduler configuration (must be called when stopped)

type SchedulerConfig

type SchedulerConfig struct {
	Enabled  bool   `json:"enabled"`
	Interval string `json:"interval"`  // "30s", "1m", "5m"
	MaxTasks int    `json:"max_tasks"` // Future: task limit
}

func GetDefaultSchedulerConfig

func GetDefaultSchedulerConfig() SchedulerConfig

GetDefaultSchedulerConfig returns default scheduler configuration

type SchedulerStatus

type SchedulerStatus struct {
	Running   bool      `json:"running"`
	Uptime    string    `json:"uptime"`
	TickCount int64     `json:"tick_count"`
	LastTick  time.Time `json:"last_tick"`
	StartTime time.Time `json:"start_time"`
}

Jump to

Keyboard shortcuts

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