Workout Time Scheduling
This commit is contained in:
@@ -632,7 +632,7 @@ func (wf *Workflow) Planify(start time.Time, end *time.Time, instances ConfigIte
|
||||
tools.COMPUTE_RESOURCE: wf.Graph.IsCompute} {
|
||||
if _, priceds, err = plan[resources.ResourceInterface](k, instances, partnerships, buyings, strategies, bookingMode, wf, priceds, request,
|
||||
f, func(res resources.ResourceInterface, priced pricing.PricedItemITF) (time.Time, float64, error) {
|
||||
nearestStart, longestDuration, err := wf.Graph.GetAverageTimeRelatedToProcessingActivity(start, ps, res, func(i graph.GraphItem) (r resources.ResourceInterface) {
|
||||
nearestStart, longestDuration, err := wf.Graph.GetAverageTimeRelatedToProcessingActivity(ps, res, func(i graph.GraphItem) (r resources.ResourceInterface) {
|
||||
if f(i) {
|
||||
_, r = i.GetResource()
|
||||
}
|
||||
@@ -650,11 +650,11 @@ func (wf *Workflow) Planify(start time.Time, end *time.Time, instances ConfigIte
|
||||
return false, 0, priceds, nil, err
|
||||
}
|
||||
}
|
||||
longest := common.GetPlannerLongestTime(end, priceds, request)
|
||||
longest := common.GetPlannerLongestTime(end, priceds)
|
||||
if _, priceds, err = plan[resources.ResourceInterface](tools.WORKFLOW_RESOURCE, instances, partnerships, buyings, strategies,
|
||||
bookingMode, wf, priceds, request, wf.Graph.IsWorkflow,
|
||||
func(res resources.ResourceInterface, priced pricing.PricedItemITF) (time.Time, float64, error) {
|
||||
start := start.Add(time.Duration(common.GetPlannerNearestStart(start, priceds, request)) * time.Second)
|
||||
start := start.Add(time.Duration(common.GetPlannerNearestStart(start, priceds)) * time.Second)
|
||||
longest := float64(-1)
|
||||
r, code, err := res.GetAccessor(request).LoadOne(res.GetID())
|
||||
if code != 200 || err != nil {
|
||||
@@ -678,7 +678,7 @@ func (wf *Workflow) Planify(start time.Time, end *time.Time, instances ConfigIte
|
||||
|
||||
}
|
||||
}
|
||||
return start.Add(time.Duration(common.GetPlannerNearestStart(start, priceds, request)) * time.Second), longest, nil
|
||||
return start.Add(time.Duration(common.GetPlannerNearestStart(start, priceds)) * time.Second), longest, nil
|
||||
}, func(start time.Time, longest float64) (*time.Time, error) {
|
||||
s := start.Add(time.Duration(longest) * time.Second)
|
||||
return &s, nil
|
||||
@@ -756,9 +756,6 @@ func plan[T resources.ResourceInterface](
|
||||
priced.SetLocationEnd(*e)
|
||||
}
|
||||
}
|
||||
if e, err := end(started, priced.GetExplicitDurationInS()); err != nil && e != nil {
|
||||
priced.SetLocationEnd(*e)
|
||||
}
|
||||
resources = append(resources, realItem.(T))
|
||||
if priceds[dt][item.ID] != nil {
|
||||
priced.AddQuantity(priceds[dt][item.ID].GetQuantity())
|
||||
|
||||
Reference in New Issue
Block a user