Interestingly there is a Sidekiq compatible job queue written in Go that has a similar name: go-workers https://github.com/jrallison/go-workers
Wondering how these ruby/rails inspired work queues compare with NSQ.
Wondering how these ruby/rails inspired work queues compare with NSQ.
We're keeping our outbound work in sidekiq for now (less throughput; not as necessary to have fast deserialization). It would be interesting to move all the workers to Go (and explore the advantages of the libraries linked here) as well.
Author of go-workers here. On SIGTERM, I stop accepting new work, and wait for all running workers to finish before halting.
If workers take longer than the 10 seconds Heroku gives you, go-workers uses reliable queueing (using http://redis.io/commands/brpoplpush) so the job will run again next time you start up the process.