25 lines
712 B
Go
25 lines
712 B
Go
package oclib
|
|
|
|
import "time"
|
|
|
|
// WorkflowSchedule is a struct that contains the scheduling information of a workflow
|
|
type ScheduleMode int
|
|
|
|
const (
|
|
TASK ScheduleMode = iota
|
|
SERVICE
|
|
)
|
|
|
|
type WorkflowSchedule struct {
|
|
Mode int64 `json:"mode" bson:"mode" validate:"required"`
|
|
Name string `json:"name" bson:"name" validate:"required"`
|
|
Start *time.Time `json:"start" bson:"start" validate:"required,ltfield=End"`
|
|
End *time.Time `json:"end,omitempty" bson:"end,omitempty"`
|
|
Cron string `json:"cron,omitempty" bson:"cron,omitempty"` // ss mm hh dd MM dw task
|
|
}
|
|
|
|
func (ws *WorkflowSchedule) GetAllDates() (timetable []time.Time) {
|
|
// Return all the execution time generated by the Cron
|
|
return
|
|
}
|