Merge branch 'master' into 5534-limit-log-lines
[arvados.git] / services / keepstore / keepstore.go
index 6d149f79a288e579fecf0dbd11f7f1cef96fb7fb..a363bac2553998e6356216f77472bcbf537b78d3 100644 (file)
@@ -4,6 +4,7 @@ import (
        "bytes"
        "flag"
        "fmt"
+       "git.curoverse.com/arvados.git/sdk/go/keepclient"
        "io/ioutil"
        "log"
        "net"
@@ -13,7 +14,6 @@ import (
        "strings"
        "syscall"
        "time"
-       "git.curoverse.com/arvados.git/services/keep"
 )
 
 // ======================
@@ -264,10 +264,10 @@ func main() {
        KeepVM = MakeRRVolumeManager(goodvols)
 
        // Tell the built-in HTTP server to direct all requests to the REST router.
-  routerWrapper := keep_utils.MakeRESTRouterWrapper(MakeRESTRouter())
-  http.HandleFunc("/", func(resp http.ResponseWriter, req *http.Request) {
-    routerWrapper.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)
@@ -275,6 +275,22 @@ func main() {
                log.Fatal(err)
        }
 
+       // Initialize Pull queue and worker
+       keepClient := keepclient.KeepClient{
+               Arvados:       nil,
+               Want_replicas: 1,
+               Using_proxy:   true,
+               Client:        &http.Client{},
+       }
+
+       // Initialize the pullq and worker
+       pullq = NewWorkQueue()
+       go RunPullWorker(pullq, keepClient)
+
+       // Initialize the trashq and worker
+       trashq = NewWorkQueue()
+       go RunTrashWorker(trashq)
+
        // Shut down the server gracefully (by closing the listener)
        // if SIGTERM is received.
        term := make(chan os.Signal, 1)