Guest User

Untitled

a guest
Jul 19th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. func main() {
  2. conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
  3. if err != nil {
  4. panic(err)
  5. }
  6. defer conn.Close()
  7.  
  8. for _, q := range []string{"q1", "q2", "q3"} {
  9. go RunFetcher(q, conn, 3, 50)
  10.  
  11. }
  12.  
  13. select {}
  14. }
  15.  
  16.  
  17. func RunFetcher(queueName string, conn *amqp.Connection, workers, qos int) {
  18. ch, err := conn.Channel()
  19. if err != nil {
  20. log.Println(err.Error())
  21. return
  22. }
  23.  
  24. ch.Qos(qos, 0, false)
  25. defer ch.Close()
  26. msgs, err := ch.Consume(queueName, "", false, false, false, false, nil)
  27. if err != nil {
  28. log.Println(err.Error())
  29. return
  30. }
  31.  
  32. for index := 0; index < workers; index++ {
  33. go func() {
  34. for d := range msgs {
  35. // process message
  36. d.Ack(false)
  37. }
  38. }()
  39. }
  40.  
  41. select {}
  42. }
Add Comment
Please, Sign In to add comment