8000 fix(hatcheries): worker pool count (#3183) · ovh/cds@5624f4d · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Commit 5624f4d

Browse files
authored
fix(hatcheries): worker pool count (#3183)
Signed-off-by: Yvonnick Esnault <yvonnick.esnault@corp.ovh.com>
1 parent 70bf4b3 commit 5624f4d

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

sdk/hatchery/pool.go

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,17 @@ func WorkerPool(h Interface, status ...sdk.Status) ([]sdk.Worker, error) {
3131
allWorkers := make([]sdk.Worker, 0, len(startedWorkers)+len(registeredWorkers))
3232

3333
// Consider the registered worker
34-
for _, w := range registeredWorkers {
34+
for k, w := range registeredWorkers {
3535
var found bool
3636
for i := range startedWorkers {
3737
if startedWorkers[i] == w.Name {
3838
startedWorkers = append(startedWorkers[:i], startedWorkers[i+1:]...)
3939
found = true
40+
41+
if strings.HasPrefix(w.Name, "register-") {
42+
registeredWorkers[k].Status = sdk.StatusWorkerRegistering
43+
}
44+
4045
break
4146
}
4247
}
@@ -53,11 +58,27 @@ func WorkerPool(h Interface, status ...sdk.Status) ([]sdk.Worker, error) {
5358
// And add the other worker with status pending of registering
5459
for _, w := range startedWorkers {
5560
name := w
56-
status := sdk.StatusWorkerPending
61+
var status sdk.Status
62+
63+
var found bool
64+
for _, wr := range registeredWorkers {
65+
if wr.Name == name {
66+
found = true
67+
break
68+
}
69+
}
70+
if found {
71+
continue // worker is registered
72+
}
73+
5774
if strings.HasPrefix(w, "register-") {
5875
name = strings.Replace(w, "register-", "", 1)
5976
status = sdk.StatusWorkerRegistering
6077
}
78+
79+
if status == "" {
80+
status = sdk.StatusWorkerPending
81+
}
6182
allWorkers = append(allWorkers, sdk.Worker{
6283
Name: name,
6384
Status: status,

0 commit comments

Comments
 (0)
0