Merge branch 'master' into 4426-search-documentation
[arvados.git] / services / keepstore / keepstore.go
index 3c6d634498cdb5497ba686fc4a8c640f0016431b..1e8c3d1e0fbd62f9dea1a2efce54a0a73b911a41 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"
 )
 
 // ======================
@@ -263,10 +265,10 @@ func main() {
        KeepVM = MakeRRVolumeManager(goodvols)
 
        // Tell the built-in HTTP server to direct all requests to the REST router.
-  loggingRouter := MakeLoggingRESTRouter()
-  http.HandleFunc("/", func(resp http.ResponseWriter, req *http.Request) {
-    loggingRouter.ServeHTTP(resp, req)
-  })
+       loggingRouter := MakeLoggingRESTRouter()
+       http.HandleFunc("/", func(resp http.ResponseWriter, req *http.Request) {
+               loggingRouter.ServeHTTP(resp, req)
+       })
 
        // Set up a TCP listener.
        listener, err := net.Listen("tcp", listen)
@@ -274,6 +276,20 @@ func main() {
                log.Fatal(err)
        }
 
+       // 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, keepClient)
+
        // Shut down the server gracefully (by closing the listener)
        // if SIGTERM is received.
        term := make(chan os.Signal, 1)