Files
scheduler-backend/internal/store/model/job_config.go
2026-05-28 00:16:19 +08:00

34 lines
1.2 KiB
Go

package model
import (
"time"
"go.mongodb.org/mongo-driver/bson/primitive"
)
type JobConfig struct {
ID primitive.ObjectID `bson:"_id,omitempty" json:"id"`
Name string `bson:"name" json:"name"`
HandlerKey string `bson:"handlerKey" json:"handlerKey"`
Enabled bool `bson:"enabled" json:"enabled"`
ScheduleType string `bson:"scheduleType" json:"scheduleType"`
ScheduleValue string `bson:"scheduleValue" json:"scheduleValue"`
DefaultParams string `bson:"defaultParams" json:"defaultParams"`
LastStatus string `bson:"lastStatus" json:"lastStatus"`
LastRunAt *time.Time `bson:"lastRunAt,omitempty" json:"lastRunAt,omitempty"`
NextRunAt *time.Time `bson:"nextRunAt,omitempty" json:"nextRunAt,omitempty"`
CreatedAt time.Time `bson:"createdAt" json:"createdAt"`
UpdatedAt time.Time `bson:"updatedAt" json:"updatedAt"`
}
func NewJobConfig(name, handlerKey string) JobConfig {
now := time.Now()
return JobConfig{
Name: name,
HandlerKey: handlerKey,
LastStatus: "idle",
CreatedAt: now,
UpdatedAt: now,
}
}