From 82650bd3dd6a99fb3022b1d3716f7909d1caef80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20T=C3=B6rnberg?= Date: Tue, 25 Nov 2025 21:17:25 +0100 Subject: [PATCH] start listener --- cmd/cart/pool-server.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cmd/cart/pool-server.go b/cmd/cart/pool-server.go index 116aea3..2affdde 100644 --- a/cmd/cart/pool-server.go +++ b/cmd/cart/pool-server.go @@ -43,9 +43,10 @@ var ( type PoolServer struct { actor.GrainPool[*cart.CartGrain] - pod_name string - klarnaClient *KlarnaClient - inventoryService inventory.InventoryService + pod_name string + klarnaClient *KlarnaClient + inventoryService inventory.InventoryService + inventoryListener *inventory.InventoryChangeListener } func NewPoolServer(pool actor.GrainPool[*cart.CartGrain], pod_name string, klarnaClient *KlarnaClient, inventoryService inventory.InventoryService, inventoryRedisClient *redis.Client) *PoolServer { @@ -55,7 +56,7 @@ func NewPoolServer(pool actor.GrainPool[*cart.CartGrain], pod_name string, klarn klarnaClient: klarnaClient, inventoryService: inventoryService, } - inventory.NewInventoryChangeListener(inventoryRedisClient, context.Background(), func(changes []inventory.InventoryChange) { + listener := inventory.NewInventoryChangeListener(inventoryRedisClient, context.Background(), func(changes []inventory.InventoryChange) { for _, change := range changes { srv.GrainPool.GetPubSub().Publish(actor.Event{ Topic: fmt.Sprintf("inventory:%s", change.SKU), @@ -63,6 +64,8 @@ func NewPoolServer(pool actor.GrainPool[*cart.CartGrain], pod_name string, klarn }) } }) + srv.inventoryListener = listener + go listener.Start() return srv }