refactor: runConsumer - minor changes to the initialization/cleanup sequence
ci/woodpecker/push/govulncheck Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details

This commit is contained in:
Dawid Wysokiński 2024-04-08 07:08:11 +02:00
parent 3fe539db19
commit be824acaec
Signed by: Kichiyaki
GPG Key ID: B5445E357FB8B892
1 changed files with 17 additions and 17 deletions

View File

@ -299,18 +299,9 @@ type registerConsumerHandlersFunc func(
//nolint:gocyclo
func runConsumer(c *cli.Context, name string, registerHandlers registerConsumerHandlersFunc) error {
ctx, cancel := context.WithCancel(c.Context)
defer cancel()
logger := loggerFromCtx(ctx)
logger := loggerFromCtx(c.Context)
watermillLogger := newWatermillLogger(logger)
var wg sync.WaitGroup
defer func() {
// it's required for the graceful shutdown
wg.Wait()
}()
amqpConn, err := newAMQPConnectionFromFlags(c, watermillLogger)
if err != nil {
return err
@ -347,13 +338,6 @@ func runConsumer(c *cli.Context, name string, registerHandlers registerConsumerH
}
defer closeBunDB(bunDB, logger)
healthObserver := healthfile.LiveObserver(health.New(), "/tmp/live")
defer func() {
if closeErr := healthObserver.Close(); closeErr != nil {
logger.Warn("couldn't close health observer", slog.Any("error", closeErr))
}
}()
router, err := newWatermillRouter(watermillLogger)
if err != nil {
return err
@ -371,6 +355,22 @@ func runConsumer(c *cli.Context, name string, registerHandlers registerConsumerH
return err
}
ctx, cancel := context.WithCancel(c.Context)
defer cancel()
var wg sync.WaitGroup
defer func() {
// it's required for the graceful shutdown
wg.Wait()
}()
healthObserver := healthfile.LiveObserver(health.New(), "/tmp/live")
defer func() {
if closeErr := healthObserver.Close(); closeErr != nil {
logger.Warn("couldn't close health observer", slog.Any("error", closeErr))
}
}()
wg.Add(1)
go func() {
defer wg.Done()