Documentation
¶
Index ¶
- func HandleSchedulerJobs(w http.ResponseWriter, r *http.Request)
- func HandleSchedulerStart(w http.ResponseWriter, r *http.Request)
- func HandleSchedulerStatus(w http.ResponseWriter, r *http.Request)
- func HandleSchedulerStop(w http.ResponseWriter, r *http.Request)
- func HandleSchedulerTrigger(w http.ResponseWriter, r *http.Request)
- type Job
- type Scheduler
- func (s *Scheduler) GetJobs() ([]Job, error)
- func (s *Scheduler) GetStatus() SchedulerStatus
- func (s *Scheduler) IsRunning() bool
- func (s *Scheduler) SetDatabase(db *sql.DB)
- func (s *Scheduler) Start() error
- func (s *Scheduler) Stop()
- func (s *Scheduler) TriggerTick() error
- func (s *Scheduler) UpdateConfig(config SchedulerConfig) error
- type SchedulerConfig
- type SchedulerStatus
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) GetStatus ¶
func (s *Scheduler) GetStatus() SchedulerStatus
GetStatus returns current scheduler status
func (*Scheduler) SetDatabase ¶
SetDatabase sets the database connection for the scheduler
func (*Scheduler) TriggerTick ¶
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