I’d make the choice for rolling my own or using something like exq based on a couple of questions:
- Am I coming from a Rails background? If so, I probably will choose exq (especially if I’m migrating an application that may be using Sidekiq currently)
- Do these requests just need to run in the background asynchronously or do I need to fire them off after a certain amount of time or run them every N minutes/etc? If they just need to be in the background, I’d probably just build a gen_server for it and roll it myself. If they need to fire off at intervals, I’d probably use something like exq.
- Do I need a queueing mechanism? If so, again, I’d choose something like exq.
In terms of the differences between each of the libraries, I haven’t dabbled enough in any of them to have a preference, but it is something that has been on my mind lately, so maybe I’ll explore one of those options next.
Thanks for the feedback!