I was just starting to look into other options (outside of Heroku’s workers) for running background workers when I found HireFire. The reason I was looking for options is because without HireFire, you have to manually move the quantity of workers available. Essentially that meant a lot of idle time for my workers. Other services pro-rate use of workers by the minute, or even second. That means that you only pay for actual processing time which makes a HUGE difference.
HireFire smartly scales your workers up (hires) and down (fires) depending on the how many jobs are pending in your queue. If you’re using Heroku, HireFire is something you have to look at.