"strings"
"syscall"
"time"
+ "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
+ "git.curoverse.com/arvados.git/sdk/go/keepclient"
)
// ======================
}
// 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.
"crypto/rand"
"errors"
"fmt"
- "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
"git.curoverse.com/arvados.git/sdk/go/keepclient"
"io"
"io/ioutil"
"time"
)
-var arv arvadosclient.ArvadosClient
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))
}
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"
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.