Go with multiple workers - Goroutines

  1. Language should be golang
  2. Wanted to plan without multiple servers(service)
  3. Queue management already with rabbitmq
  4. Wanted to run concurrently multiple jobs(any no of jobs define)
  5. To run a job takes some times (minutes)
  1. We need to add multiple subscribers for rabbitmq queue.
  2. We need to implement rabbitmq acknowledgement (that will help to system pick same job if job not running. Until its acknowledged info will not delete from the rabbitmq queue). once Job is complete we need to ack
  • you have basic idea about golang.
  • rabbitmq connection already available.
  • rabbitmq queue already available.
func multipleWorkers() {

for i := 1; i <= 10; i++ {
go worker(i)
forever := make(chan bool)



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store