3761: pass keepclient as an arg to RunPullWorker
authorRadhika Chippada <radhika@curoverse.com>
Tue, 3 Mar 2015 17:26:21 +0000 (12:26 -0500)
committerRadhika Chippada <radhika@curoverse.com>
Tue, 3 Mar 2015 17:26:21 +0000 (12:26 -0500)
services/keepstore/keepstore.go
services/keepstore/pull_worker.go
services/keepstore/pull_worker_test.go

index b6ab8faca13970e852d6f2c59f02c9ac4bbb8e01..ca796676f3964ddb10a31fd60917442e7809f9bd 100644 (file)
@@ -13,6 +13,8 @@ import (
        "strings"
        "syscall"
        "time"
+       "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
+       "git.curoverse.com/arvados.git/sdk/go/keepclient"
 )
 
 // ======================
@@ -275,8 +277,18 @@ func main() {
        }
 
        // Initialize Pull queue and worker
+       arv, err := arvadosclient.MakeArvadosClient()
+       if err != nil {
+               log.Fatalf("Error setting up arvados client %s", err.Error())
+       }
+
+       keepClient, err := keepclient.MakeKeepClient(&arv)
+       if err != nil {
+               log.Fatalf("Error setting up keep client %s", err.Error())
+       }
+
        pullq = NewWorkQueue()
-       go RunPullWorker(pullq.NextItem)
+       go RunPullWorker(pullq.NextItem, keepClient)
 
        // Shut down the server gracefully (by closing the listener)
        // if SIGTERM is received.
index db2b54ddc8160d5040eff4aab451a3836898fd9c..dced531bf5fb08ac8bd808818ca8bf021128de31 100644 (file)
@@ -4,7 +4,6 @@ import (
        "crypto/rand"
        "errors"
        "fmt"
-       "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
        "git.curoverse.com/arvados.git/sdk/go/keepclient"
        "io"
        "io/ioutil"
@@ -13,7 +12,6 @@ import (
        "time"
 )
 
-var arv arvadosclient.ArvadosClient
 var keepClient keepclient.KeepClient
 
 /*
@@ -24,18 +22,8 @@ var keepClient keepclient.KeepClient
                        Skip the rest of the servers if no errors
                Repeat
 */
-func RunPullWorker(nextItem <-chan interface{}) {
-       var err error
-       arv, err = arvadosclient.MakeArvadosClient()
-       if err != nil {
-               log.Fatalf("Error setting up arvados client %s", err.Error())
-       }
-
-       keepClient, err = keepclient.MakeKeepClient(&arv)
-       if err != nil {
-               log.Fatalf("Error setting up keep client %s", err.Error())
-       }
-
+func RunPullWorker(nextItem <-chan interface{}, kc keepclient.KeepClient) {
+       keepClient = kc
        for item := range nextItem {
                Pull(item.(PullRequest))
        }
index de9ec4142fa64b9102e1ab00da355deb5be3737a..84e951c454334fc5f7e10921ed2a2b9dab0650f3 100644 (file)
@@ -3,6 +3,8 @@ package main
 import (
        "bytes"
        "errors"
+       "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
+       "git.curoverse.com/arvados.git/sdk/go/keepclient"
        . "gopkg.in/check.v1"
        "io"
        "net/http"
@@ -27,7 +29,11 @@ var _ = Suite(&PullWorkerTestSuite{})
 func (s *PullWorkerTestSuite) SetUpSuite(c *C) {
        // Since keepstore does not come into picture in tests,
        // we need to explicitly start the goroutine in tests.
-       go RunPullWorker(pullq.NextItem)
+       arv, err := arvadosclient.MakeArvadosClient()
+       c.Assert(err, Equals, nil)
+       keepClient, err := keepclient.MakeKeepClient(&arv)
+       c.Assert(err, Equals, nil)
+       go RunPullWorker(pullq.NextItem, keepClient)
 
        // When a new pull request arrives, the old one will be overwritten.
        // This behavior is simulated with delay tests below.