from Hacker News

A Deep Dive into Solid Queue for Ruby on Rails

by fbuilesv on 6/20/25, 10:31 AM with 47 comments

  • by pqdbr on 6/24/25, 2:46 AM

    Great writeup. I'd love to know more about how the Supervisor works, and how it. "fork[s] a separate process for each supervised worker/dispatcher/scheduler".

    In a Rails app served with Puma, I've always had a hard time understanding what would be the canonical way for having a loop doing some periodic work.

    I know Puma has plugin support but I don't see much documentation there.

    Forking a process / threads is something that we're used having Rails / Puma take care for us.

    Pressed for time and without having time to deep dive, we ended up settling with sidekiq-cron, and it's been serving us so nicely.

  • by hschne on 6/24/25, 3:50 AM

    Author here. What a pleasant surprise to see this on HN!

    Happy to answer any questions.

  • by nkraft11 on 6/23/25, 11:32 PM

    I briefly worked at a YC company that was a ruby shop. Their answer to every performance problem was to stick it on a queue. There were, I don’t know, dozens of them. Then they decided they needed to be multi-region, because reasons. But the queues weren’t set up to be multi-region, so they built an entirely new service that’s job was to decide which queue in which region jobs needed to go on. So now you had jobs crisscrossing datacenters and tracking any issue became literally impossible. Massively turned me off to both that company and ruby in general.
  • by zem on 6/24/25, 4:16 AM

    man, that brings back memories - very early in my career I tried to use postgres as a task queue, thinking that with O(hundreds) of jobs it wasn't worth setting up something like rabbitmq. sadly I knew pretty much nothing about db design and the performance was horrible, ended up ripping it out and installing rabbitmq after all (and having a whole new set of headaches with random rabbit admin issues but at least when it worked it was fast)
  • by maineagetter on 6/24/25, 12:29 AM

    Any performance comparisons to Oban?