Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(430)

Side by Side Diff: task_scheduler/go/scheduling/task_candidate.go

Issue 2296763008: [task scheduler] Move files from build_scheduler/ to task_scheduler/ (Closed) Base URL: https://skia.googlesource.com/buildbot@master
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 package task_scheduler 1 package scheduling
2 2
3 import ( 3 import (
4 "fmt" 4 "fmt"
5 "path" 5 "path"
6 "strings" 6 "strings"
7 7
8 swarming_api "github.com/luci/luci-go/common/api/swarming/swarming/v1" 8 swarming_api "github.com/luci/luci-go/common/api/swarming/swarming/v1"
9 "go.skia.org/infra/build_scheduler/go/db"
10 "go.skia.org/infra/go/isolate" 9 "go.skia.org/infra/go/isolate"
11 "go.skia.org/infra/go/swarming" 10 "go.skia.org/infra/go/swarming"
11 "go.skia.org/infra/task_scheduler/go/db"
12 ) 12 )
13 13
14 // taskCandidate is a struct used for determining which tasks to schedule. 14 // taskCandidate is a struct used for determining which tasks to schedule.
15 type taskCandidate struct { 15 type taskCandidate struct {
16 Commits []string 16 Commits []string
17 IsolatedInput string 17 IsolatedInput string
18 IsolatedHashes []string 18 IsolatedHashes []string
19 Name string 19 Name string
20 Repo string 20 Repo string
21 Revision string 21 Revision string
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 Dimensions: dims, 124 Dimensions: dims,
125 ExecutionTimeoutSecs: int64(swarming.RECOMMENDED_HARD_TI MEOUT.Seconds()), 125 ExecutionTimeoutSecs: int64(swarming.RECOMMENDED_HARD_TI MEOUT.Seconds()),
126 InputsRef: &swarming_api.SwarmingRpcsFilesRef{ 126 InputsRef: &swarming_api.SwarmingRpcsFilesRef{
127 Isolated: c.IsolatedInput, 127 Isolated: c.IsolatedInput,
128 Isolatedserver: isolate.ISOLATE_SERVER_URL, 128 Isolatedserver: isolate.ISOLATE_SERVER_URL,
129 Namespace: isolate.DEFAULT_NAMESPACE, 129 Namespace: isolate.DEFAULT_NAMESPACE,
130 }, 130 },
131 IoTimeoutSecs: int64(swarming.RECOMMENDED_IO_TIMEOUT.Sec onds()), 131 IoTimeoutSecs: int64(swarming.RECOMMENDED_IO_TIMEOUT.Sec onds()),
132 }, 132 },
133 Tags: db.TagsForTask(c.Name, id, c.TaskSpec.Priority, c.Repo, c. Revision, dimsMap), 133 Tags: db.TagsForTask(c.Name, id, c.TaskSpec.Priority, c.Repo, c. Revision, dimsMap),
134 » » User: "skia-build-scheduler", 134 » » User: "skia-task-scheduler",
135 } 135 }
136 } 136 }
137 137
138 // allDepsMet determines whether all dependencies for the given task candidate 138 // allDepsMet determines whether all dependencies for the given task candidate
139 // have been satisfied, and if so, returns their isolated outputs. 139 // have been satisfied, and if so, returns their isolated outputs.
140 func (c *taskCandidate) allDepsMet(cache db.TaskCache) (bool, []string, error) { 140 func (c *taskCandidate) allDepsMet(cache db.TaskCache) (bool, []string, error) {
141 isolatedHashes := make([]string, 0, len(c.TaskSpec.Dependencies)) 141 isolatedHashes := make([]string, 0, len(c.TaskSpec.Dependencies))
142 for _, depName := range c.TaskSpec.Dependencies { 142 for _, depName := range c.TaskSpec.Dependencies {
143 d, err := cache.GetTaskForCommit(c.Repo, c.Revision, depName) 143 d, err := cache.GetTaskForCommit(c.Repo, c.Revision, depName)
144 if err != nil { 144 if err != nil {
(...skipping 13 matching lines...) Expand all
158 // taskCandidateSlice is an alias used for sorting a slice of taskCandidates. 158 // taskCandidateSlice is an alias used for sorting a slice of taskCandidates.
159 type taskCandidateSlice []*taskCandidate 159 type taskCandidateSlice []*taskCandidate
160 160
161 func (s taskCandidateSlice) Len() int { return len(s) } 161 func (s taskCandidateSlice) Len() int { return len(s) }
162 func (s taskCandidateSlice) Swap(i, j int) { 162 func (s taskCandidateSlice) Swap(i, j int) {
163 s[i], s[j] = s[j], s[i] 163 s[i], s[j] = s[j], s[i]
164 } 164 }
165 func (s taskCandidateSlice) Less(i, j int) bool { 165 func (s taskCandidateSlice) Less(i, j int) bool {
166 return s[i].Score > s[j].Score // candidates sort in decreasing order. 166 return s[i].Score > s[j].Score // candidates sort in decreasing order.
167 } 167 }
OLDNEW
« no previous file with comments | « task_scheduler/go/scheduling/specs_test.go ('k') | task_scheduler/go/scheduling/task_candidate_test.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698