74 lines
2.3 KiB
Go
74 lines
2.3 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
// Job represents a broker job
|
|
type Job struct {
|
|
ID int64 `json:"id"`
|
|
JobName string `json:"job_name"`
|
|
JobPriority int32 `json:"job_priority"`
|
|
JobQueue int `json:"job_queue"`
|
|
JobLanguage string `json:"job_language"`
|
|
ExecuteStr string `json:"execute_str"`
|
|
ExecuteResult string `json:"execute_result"`
|
|
ErrorMsg string `json:"error_msg"`
|
|
CompleteStatus int `json:"complete_status"`
|
|
RunAs string `json:"run_as"`
|
|
UserLogin string `json:"user_login"`
|
|
ScheduleID int64 `json:"schedule_id"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
// Instance represents a broker instance
|
|
type Instance struct {
|
|
ID int64 `json:"id"`
|
|
Name string `json:"name"`
|
|
Hostname string `json:"hostname"`
|
|
PID int `json:"pid"`
|
|
Version string `json:"version"`
|
|
Status string `json:"status"` // active, inactive, shutdown
|
|
StartedAt time.Time `json:"started_at"`
|
|
LastPingAt time.Time `json:"last_ping_at"`
|
|
ShutdownAt time.Time `json:"shutdown_at"`
|
|
QueueCount int `json:"queue_count"`
|
|
JobsHandled int64 `json:"jobs_handled"`
|
|
}
|
|
|
|
// Schedule represents a job schedule
|
|
type Schedule struct {
|
|
ID int64 `json:"id"`
|
|
Name string `json:"name"`
|
|
CronExpr string `json:"cron_expr"`
|
|
Enabled bool `json:"enabled"`
|
|
JobName string `json:"job_name"`
|
|
JobPriority int32 `json:"job_priority"`
|
|
JobQueue int `json:"job_queue"`
|
|
ExecuteStr string `json:"execute_str"`
|
|
RunAs string `json:"run_as"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
LastRunAt time.Time `json:"last_run_at"`
|
|
NextRunAt time.Time `json:"next_run_at"`
|
|
}
|
|
|
|
// JobStatus represents job completion statuses
|
|
type JobStatus int
|
|
|
|
const (
|
|
JobStatusPending JobStatus = 0
|
|
JobStatusRunning JobStatus = 1
|
|
JobStatusCompleted JobStatus = 2
|
|
JobStatusFailed JobStatus = 3
|
|
JobStatusCancelled JobStatus = 4
|
|
)
|
|
|
|
// InstanceStatus represents instance statuses
|
|
type InstanceStatus string
|
|
|
|
const (
|
|
InstanceStatusActive InstanceStatus = "active"
|
|
InstanceStatusInactive InstanceStatus = "inactive"
|
|
InstanceStatusShutdown InstanceStatus = "shutdown"
|
|
)
|