Hey Brandon, I like your series on Elixir and Phoenix quite a lot, thank you very much for putting…
Roman Heinrich
11

I’d make the choice for rolling my own or using something like exq based on a couple of questions:

  1. 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)
  2. 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.
  3. 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!