X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/409fe707a4d05f1986d7bb0c29ec977d19aa63f5..8805632994d42c0e3b31fd5ac010d916cac12de1:/services/keepstore/keepstore.go diff --git a/services/keepstore/keepstore.go b/services/keepstore/keepstore.go index c899d5166a..a363bac255 100644 --- a/services/keepstore/keepstore.go +++ b/services/keepstore/keepstore.go @@ -4,6 +4,7 @@ import ( "bytes" "flag" "fmt" + "git.curoverse.com/arvados.git/sdk/go/keepclient" "io/ioutil" "log" "net" @@ -262,9 +263,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 +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)