Share CR refresh throttle when running multiple containers.
authorTom Clegg <tom@tomclegg.ca>
Wed, 25 Nov 2020 14:24:25 +0000 (09:24 -0500)
committerTom Clegg <tom@tomclegg.ca>
Wed, 25 Nov 2020 14:24:25 +0000 (09:24 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@tomclegg.ca>

arvados.go

index be11a2333d917552eea53af3956e0d2c325a9524..5f78a36408bdbbb8e2aba29b4571fbfd87749c85 100644 (file)
@@ -177,6 +177,8 @@ reconnect:
        }
 }
 
+var refreshTicker = time.NewTicker(5 * time.Second)
+
 type arvadosContainerRunner struct {
        Client      *arvados.Client
        Name        string
@@ -268,9 +270,6 @@ func (runner *arvadosContainerRunner) RunContext(ctx context.Context) (string, e
                }
        }()
 
-       ticker := time.NewTicker(5 * time.Second)
-       defer ticker.Stop()
-
        neednewline := ""
 
        lastState := cr.State
@@ -311,7 +310,7 @@ waitctr:
                                log.Errorf("error while trying to cancel container request %s: %s", cr.UUID, err)
                        }
                        break waitctr
-               case <-ticker.C:
+               case <-refreshTicker.C:
                        refreshCR()
                case msg := <-logch:
                        switch msg.EventType {