Merge branch 'master' into 5145-combine-collections-repeated-filenames
[arvados.git] / services / keepstore / keepstore.go
index c899d5166a6f9871ffbd7c18c187eb0cc5df9ad6..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"
 )
 
 // ======================
@@ -262,9 +264,11 @@ func main() {
        // Start a round-robin VolumeManager with the volumes we have found.
        KeepVM = MakeRRVolumeManager(goodvols)
 
-       // Tell the built-in HTTP server to direct all requests to the REST
-       // router.
-       http.Handle("/", MakeRESTRouter())
+       // 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)
+       })
 
        // Set up a TCP listener.
        listener, err := net.Listen("tcp", listen)
@@ -272,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)