Skip to content

Instantly share code, notes, and snippets.

@bagasdisini
Last active June 11, 2024 06:38
Show Gist options
  • Save bagasdisini/1ffd52ec505350e81f79e3ac786c442b to your computer and use it in GitHub Desktop.
Save bagasdisini/1ffd52ec505350e81f79e3ac786c442b to your computer and use it in GitHub Desktop.
Getting data message from Rabbit MQ then process each data one by one.
func GetRabbitMessageThenProcess() {
defer log.RecoverWithTrace()
_, ch := rabbit.ConnectMQ()
_, err := ch.QueueDeclare(
etc.TranscriptQueue,
true,
false,
false,
false,
nil,
)
if err != nil {
log.Error(err)
return
}
messages, err := ch.Consume(
etc.TranscriptQueue,
"",
true,
false,
false,
false,
nil,
)
if err != nil {
log.Error(err)
return
}
forever := make(chan bool)
go func(msg <-chan amqp091.Delivery) {
for m := range msg {
doProcess(string(m.Body))
}
}(messages)
<-forever
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment