diff --git a/router/functionServiceMap.go b/router/functionServiceMap.go index e858930a..cbc4f999 100644 --- a/router/functionServiceMap.go +++ b/router/functionServiceMap.go @@ -19,23 +19,24 @@ package router import ( "log" "net/url" + "time" "github.com/platform9/fission" "github.com/platform9/fission/cache" ) type functionServiceMap struct { - svc *cache.Cache // map[fission.Metadata]*url.URL + cache *cache.Cache // map[fission.Metadata]*url.URL } -func makeFunctionServiceMap() *functionServiceMap { +func makeFunctionServiceMap(expiry time.Duration) *functionServiceMap { return &functionServiceMap{ - svc: cache.MakeCache(), + cache: cache.MakeCache(expiry), } } func (fmap *functionServiceMap) lookup(f *fission.Metadata) (*url.URL, error) { - item, err := fmap.svc.Get(*f) + item, err := fmap.cache.Get(*f) if err != nil { return nil, err } @@ -44,9 +45,8 @@ func (fmap *functionServiceMap) lookup(f *fission.Metadata) (*url.URL, error) { } func (fmap *functionServiceMap) assign(f *fission.Metadata, serviceUrl *url.URL) { - //fmap.requestChannel <- &functionServiceMapRequest{Function: *f, serviceUrl: *serviceUrl, requestType: ASSIGN} - err := fmap.svc.Set(*f, serviceUrl) + err := fmap.cache.Set(*f, serviceUrl) if err != nil { - log.Printf("error caching svc for function: %v", err) + log.Printf("error caching service url for function: %v", err) } } diff --git a/router/router.go b/router/router.go index 90e8dd05..068b3ec9 100644 --- a/router/router.go +++ b/router/router.go @@ -41,13 +41,14 @@ package router import ( "fmt" + "log" "net/http" + "time" "github.com/gorilla/mux" controllerClient "github.com/platform9/fission/controller/client" poolmgrClient "github.com/platform9/fission/poolmgr/client" - "log" ) // request url ---[mux]---> Function(name,uid) ----[fmap]----> k8s service url @@ -68,7 +69,7 @@ func serve(port int, httpTriggerSet *HTTPTriggerSet) { } func Start(port int, controllerUrl string, poolmgrUrl string) { - fmap := makeFunctionServiceMap() + fmap := makeFunctionServiceMap(time.Minute) controller := controllerClient.MakeClient(controllerUrl) poolmgr := poolmgrClient.MakeClient(poolmgrUrl)