Solid Queue is the database-backed background job system that Rails has been pushing as a simpler default, and version 1.6.0 adds fiber workers. In plain terms, that means a worker can juggle many paused and resumed I/O-bound jobs inside a small number of OS threads, instead of dedicating a thread to every job. That is a good fit for queues full of HTTP calls, fan-out jobs, notifications, and other work that spends most of its life waiting on networks rather than burning CPU.
Most of the useful discussion landed on that practical boundary. Fibers are not a magic speed button for Ruby. They help when jobs spend time waiting, because the runtime can switch to another job cheaply without paying full thread overhead. They do little for
CPU-bound work, and they can backfire if a gem or
C extension blocks in a way the fiber scheduler cannot cooperate with. Several people pointed out that the right setup is mixed worker pools, not ideological purity: fiber-based pools for chatty I/O queues, thread-based or separate process pools for CPU queues.
The other strong theme was that this finally makes a very Rails-native async stack more appealing. People already using jobs for durable retries and fan-out workflows saw fiber workers as a clean way to increase throughput without adding
Redis or another queue service. Concerns about database connections came up quickly, but the more grounded replies said the key is not "one connection per fiber." It is whether jobs hold a database connection while they wait on slow external I/O. Recent Rails changes release connections more granularly, which is what makes this model more plausible in practice. There was also healthy skepticism around loose Ruby-versus-
Go benchmark claims. The takeaway was not that Ruby suddenly matches Go across the board, but that for common HTTP-heavy service work, concurrency model and stack design can matter more than language stereotypes suggest.