oc-scheduler -> scheduling + logs
This commit is contained in:
@@ -40,15 +40,20 @@ type WorkflowSchedule struct {
|
||||
DurationS float64 `json:"duration_s" default:"-1"`
|
||||
Cron string `json:"cron,omitempty"`
|
||||
|
||||
BookingMode booking.BookingMode `json:"booking_mode,omitempty"`
|
||||
SelectedInstances workflow.ConfigItem `json:"selected_instances"`
|
||||
SelectedPartnerships workflow.ConfigItem `json:"selected_partnerships"`
|
||||
SelectedBuyings workflow.ConfigItem `json:"selected_buyings"`
|
||||
SelectedStrategies workflow.ConfigItem `json:"selected_strategies"`
|
||||
BookingMode booking.BookingMode `json:"booking_mode,omitempty"`
|
||||
SelectedInstances workflow.ConfigItem `json:"selected_instances"`
|
||||
SelectedPartnerships workflow.ConfigItem `json:"selected_partnerships"`
|
||||
SelectedBuyings workflow.ConfigItem `json:"selected_buyings"`
|
||||
SelectedStrategies workflow.ConfigItem `json:"selected_strategies"`
|
||||
SelectedBillingStrategy pricing.BillingStrategy `json:"selected_billing_strategy"`
|
||||
|
||||
// Confirm, when true, triggers Schedule() to confirm the drafts held by this session.
|
||||
Confirm bool `json:"confirm,omitempty"`
|
||||
|
||||
// Asap and Preemption override the query-param mode on a per-message basis.
|
||||
// nil means "not set" (keep previous value).
|
||||
Asap *bool `json:"asap,omitempty"`
|
||||
Preemption *bool `json:"preemption,omitempty"`
|
||||
}
|
||||
|
||||
// CheckResult is the response payload for an availability check.
|
||||
@@ -68,7 +73,6 @@ type CheckResult struct {
|
||||
|
||||
// Check verifies whether the requested slot is available across all resource peers.
|
||||
func (ws *WorkflowSchedule) Check(wfID string, asap bool, preemption bool, request *tools.APIRequest) (*CheckResult, error) {
|
||||
fmt.Println("CHECK", asap, "/", preemption)
|
||||
obj, code, err := workflow.NewAccessor(request).LoadOne(wfID)
|
||||
if code != 200 || err != nil {
|
||||
msg := "could not load workflow " + wfID
|
||||
@@ -81,7 +85,7 @@ func (ws *WorkflowSchedule) Check(wfID string, asap bool, preemption bool, reque
|
||||
|
||||
prepLead := conf.GetConfig().PrepLead()
|
||||
start := ws.Start
|
||||
if asap || start.IsZero() {
|
||||
if asap || preemption || start.IsZero() {
|
||||
start = time.Now().UTC().Add(prepLead)
|
||||
} else if start.Before(time.Now().UTC().Add(prepLead)) {
|
||||
// Explicit date is within the prep window — impossible to guarantee on time.
|
||||
@@ -240,4 +244,3 @@ func (ws *WorkflowSchedule) GetDates() ([]Schedule, error) {
|
||||
}
|
||||
return schedule, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user