func readMessages() { c := consumer.NewConsumer(appConfig.QueueConf, handleMessage, http.Client{}) var wg sync.WaitGroup wg.Add(1) go func() { c.Start() wg.Done() }() ch := make(chan os.Signal) signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM) <-ch c.Stop() wg.Wait() }
func readMessages(config consumer.QueueConfig) { messageConsumer := consumer.NewConsumer(config, handleMessage, http.Client{}) infoLogger.Printf("[Startup] Consumer: %# v", pretty.Formatter(messageConsumer)) var consumerWaitGroup sync.WaitGroup consumerWaitGroup.Add(1) go func() { messageConsumer.Start() consumerWaitGroup.Done() }() ch := make(chan os.Signal) signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM) <-ch messageConsumer.Stop() consumerWaitGroup.Wait() }