this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

error abnormal closure handling

+8 -3
+8 -3
main.go
··· 51 51 52 52 func consumeLoop(ctx context.Context, jsServerAddr string, feeder *FeedGenerator) { 53 53 consumer := NewConsumer(jsServerAddr) 54 + continueCount := 0 54 55 for { 55 56 err := consumer.Consume(ctx, feeder, slog.Default()) 56 57 if err != nil { ··· 58 59 return 59 60 } 60 61 61 - if websocket.IsCloseError(err, websocket.CloseAbnormalClosure) { 62 - slog.Error("consume - trying again", "error", err) 63 - continue 62 + var closeErr *websocket.CloseError 63 + if errors.As(err, &closeErr) { 64 + if closeErr.Code == websocket.CloseAbnormalClosure && continueCount <= 10 { 65 + slog.Error("consume - trying again", "error", err) 66 + continueCount++ 67 + continue 68 + } 64 69 } 65 70 slog.Error("consume - exiting gracefully", "error", err) 66 71 return