Category: Rails

Announcing Passive Queue: The Rails Background Job System That Transcends Processing

0ms processing time. Infinite scalability. 100% success rate. Zero failures.

GitHub stars ← Give it a star if you enjoyed this zen approach!

The Moment of Zen Clarity

It was Day Two of RailsConf 2025 in sweltering Philadelphia when the idea crystallized. My friend Justin and I were discussing the endless cycle of Rails optimization - everyone building faster queues, better job processors, more efficient background systems.

That's when Justin sparked the initial concept: What if we built a "Passive Job" library?

The idea was brilliant, but as I thought it through, I realized it should align with the existing ecosystem. We weren't replacing ActiveJob itself - we were creating a queue backend.

The Problem We Didn't Know We Had

Modern Rails development has become an endless cycle of optimization. We have Solid Queue, Sidekiq, Karafka, Good Job and many other. Each one promises to process your background jobs faster, more efficiently, more reliably.

But what if the real problem isn't that our jobs are too slow? What if the problem is that they run at all?

Introducing Passive Queue

Today, I'm excited to announce Passive Queue - a Rails queue adapter embracing the zen of non-execution. It's the queue backend for developers who understand that the best job is the one never done.

Features That Don't Exist

  • 100% reliable non-execution - Your jobs will never fail because they never run
  • Infinite scalability - Nothing scales better than nothing
  • Zero memory footprint - Truly efficient resource usage
  • 0ms processing time - Unbeatable performance metrics
  • Perfect success rate - At doing absolutely nothing

One-Line Installation

# In your Rails application.rb
config.active_job.queue_adapter = :passive_queue

That's it. Every single ActiveJob in your Rails application will now be processed with the serene calm of non-execution.

The Philosophy Behind the Madness

Passive Queue isn't just a parody-it's a meditation on our industry's obsession with doing more, faster, all the time. Sometimes the most zen approach is to simply accept that not everything needs to be done.

Think about it:

  • Newsletter emails that were never sent can't end up in spam folders
  • Data processing jobs that never run can't corrupt your database
  • Image resizing tasks that don't execute can't fill up your disk space

It's not a bug, it's enlightenment.

The Command Line Experience

But Passive Queue isn't just about background jobs. It comes with a meditation tool for developers:

bundle exec be passive                   # Basic meditation
bundle exec be passive --zen             # With zen quotes
bundle exec be passive --philosophical   # Deep thoughts
bundle exec be passive --aggressive      # Don't do this

Each command helps you embrace the art of doing nothing, perfect for those moments between deployments when you need to center yourself.

The Dashboard of Enlightenment

For teams that need visual confirmation of their non-productivity, Passive Queue includes a beautiful web dashboard. Mount it as a Rack engine in your Rails app:

# config/routes.rb
Rails.application.routes.draw do
  mount PassiveQueue::Engine => "/passive_queue"
end

Visit /passive_queue and you'll be greeted with a stunning dashboard featuring:

  • Real-time job counts (always zero, beautifully displayed)
  • Processing queues (eternally empty, perfectly styled)
  • Performance metrics (infinite efficiency charts)
  • Worker status (serenely inactive indicators)
  • Zen quotes (rotating wisdom for your enlightenment)

The dashboard is fully responsive, beautifully designed, and does absolutely nothing functional. It's the perfect way to demonstrate your commitment to the zen of non-execution to stakeholders who need to see data to feel comfortable.

Born at RailsConf 2025

This project was born during those sweaty Philadelphia days, in conversations with my friend Justin about the state of Rails tooling. Sometimes the best ideas come from collaborative moments where you're questioning everything we take for granted in web development.

During the panel on background processing with Mike Rosa and Ben, we discussed the evolution of queueing systems in Ruby. But it was Justin's and my original "Passive Job" concept that made me realize we needed to take this further-Passive Queue represents the next logical step: transcendence through non-action.

The Technical Implementation

Under the hood, Passive Queue is surprisingly sophisticated in its simplicity.

It implements the full ActiveJob adapter interface, ensuring compatibility with your existing Rails application. The difference is that every job returns successfully_not_processed instead of actually running.

Zero Dependencies, Maximum Zen

True to its philosophy, Passive Queue has zero runtime dependencies. It doesn't rely on Redis, PostgreSQL, or even ActiveJob (though it integrates beautifully when available). Pure Ruby, pure zen.

Get Started Today

Install the gem:

gem install passive_queue

Add it to your Rails app:

config.active_job.queue_adapter = :passive_queue

And experience the tranquility of knowing your background jobs are in a state of perfect, permanent rest.

The Future of Non-Productivity

This is just the beginning. The dashboard is already inspiring ideas for PassiveRecord (an ORM that never queries), PassiveCache (a cache that never stores), and maybe even PassiveRails (a web framework that serves only 204 No Content responses).

But for now, Passive Queue stands alone as a testament to the power of doing nothing, doing it well, and making it look absolutely gorgeous while doing so.

Join the Movement

You can find Passive Queue on GitHub and RubyGems. Contributions are welcome, though we ask that you contribute in the spirit of the project-which is to say, perhaps consider not contributing at all.

The gem is MIT licensed, because even non-productivity should be free.


Sometimes the most profound action is inaction. Sometimes the best code is no code. And sometimes, the perfect queue is the one that queues forever.

Try Passive Queue today. Your background jobs will thank you by never running.

Ruby Warsaw Community Conference 2024: A Compact Adventure in the Heart of Poland

Introduction

Leaving Cracow's familiar scenes behind, I headed to Warsaw with anticipation for the Ruby Warsaw Community Conference. The compact yet promising event marked a day dedicated to Ruby enthusiasts like myself. Below, you can find my after-thoughts about this peculiar event.

Speaker's Dinner and Before Party

The speakers' dinner and pre-party set the tone for the conference, offering a warm, inviting atmosphere. Both venues, a well-chosen restaurant and a lively before-party spot, facilitated great conversations and networking among the attendees.

Conference Overview

The Ruby Warsaw Community Conference stood out with its compact, one-day structure, sparking my initial skepticism about its depth. However, the event unfolded impressively, offering three engaging workshops in the morning and four insightful talks arranged in a 2:2 format (2 talks, break, 2 talks). This unexpectedly effective, concise arrangement sold out and fostered a refreshing atmosphere, free from the typical conference fatigue.

Workshops

The workshops, a well-anticipated part of the conference, included:

Game Development in Ruby on Rails: A session diving into the creative possibilities of game development with Rails.
Fixing Performance Issues with Rails: Focused on pinpointing and solving common performance hurdles in Rails applications.
Rails 8 Rapid Start: Mastering Templates for Efficient Development: Offered a deep dive into the newest Rails features, focusing on templates.

Despite not attending due to final preparations and a wish to leave spots for others, the buzz around these workshops was unmistakably positive. Their popularity hinted at a successful format but suggested room for a more inclusive approach, possibly integrating more talk sessions with workshop-style learning to cater to the high demand, as not all the attendees could secure a spot at any of the workshops.

Venue

The venue at Kinoteka, part of Warsaw's iconic Palace of Culture and Science, added a grand touch to the conference. The majestic setting, a landmark of architectural and cultural significance, provided a fitting backdrop for the event. The cinematic hall, known for its excellent acoustics and visual setup, ensured an immersive experience for speakers and attendees, complementing the event's vibrant discussions with its historical and cultural resonance.

Talks

Aside from my talk (which I summarize below), there were three other talks:

  1. Zeitwerk Internals by Xavier Noria
  2. Renaissance of Ruby on Rails by Steven Baker
  3. Implementing business archetypes in Rails by Michał Łęcicki

Xavier Noria presenting

While you will never make everyone happy, I think that one of the rules of a good event is to have a bit of everything:

  • A technical deep dive (by Xavier Noria) - I enjoyed seeing the conference opening talk at RailsWorld. Xavier delivers. He has this fantastic ability to simplify the internals of Zeitwerk (the library that I love and admire!) and explain complex and sometimes unexpected ways of Ruby's internal code-loading operations.

  • Standup(ish) with a story (by Steven Baker) - Steven is a full-blooded comedian. He has an excellent ability to create a seemingly unrelated to Ruby and Rails story that actually reflects the core thoughts of this topic. He guided us through his career and life stories. Still, behind that, he was using this to illustrate how far we drifted away from the simplicity of building applications and how we as an industry moved towards abstract scaling, layers, and isolation, often in projects that could be done with 90% less resources. It's one of those talks that the more you think about them, the more it gets you thinking.

  • Architecture and System Design (Michał Łęcicki) - Michał provided a solid talk despite being a big scene rookie. He started nicely with a funny background story of books great to get you to sleep that (surprise, surprise) are about software and architecture and swiftly moved to discuss complex and abstract challenges of using business archetypes patterns. My only concern regarding this talk is that it was too abstract at some points. I expected more cross-references with this pattern application in the context of Ruby or Rails, especially with ActiveRecord. Though I am sure that the next iteration of this talk will include it :) Nonetheless, it was a solid debut in front of a big audience. I don't think I could present such a topic myself as my first talk ever.

  • Something "else" (Me, see below)

My Talk: Future-Proofing Ruby Gems: Strategies for Long-Term Maintenance

In my talk, I aimed to provide insights and strategies for ensuring the long-term sustainability of Ruby gems development.

When I initially prepared this presentation, it included over 160 slides, which I had to condense to fit within the allotted 30-minute slot, including time for questions. I'm happy that I stuck to the time frame perfectly, finishing in 31 minutes, which is always a stress point for me when delivering talks. It's a delicate balance, as talks can be either too short or, heaven forbid, too long. I hit the mark, even receiving a few extra minutes from the audience (a perk of being the last speaker) to cover additional material.

My talk delved into the critical topic of Ruby gems development and open-source software maintainability. While I don't anticipate that this talk will revolutionize the field, I hope it will inspire listeners to reevaluate their approaches to various engineering challenges.

A minor logistical challenge during my presentation is worth noting - no laptop stand was available, preventing me and other speakers from using speaker mode with notes and time tracking. Due to technical constraints, we had to send our presentations in advance and rely on the big screen behind us to keep track of our talk progress. This situation led to a more freestyle delivery than I had initially planned. I hope it did not adversely affect the outcome. All speakers managed to deliver engaging and informative talks.

Slides from my presentation can be found here:

https://mensfeld.github.io/future-proofing-ruby-gems

After-Party

The After-Party was a lively and memorable conclusion to the conference.

If you've ever attended a conference, you know the atmosphere. If not, go! The party continued until around 3 am, and if it hadn't been for the venue's closing time, some might have stayed even later.

Closing Thoughts

photo source: twitter.com/balticruby

The Ruby Warsaw Community Conference exceeded my expectations. Despite initial skepticism about its one-day format, the event seamlessly combined community spirit and technical depth.

Workshops and talks, including mine, offered valuable insights. The venue, set against the iconic Palace of Culture and Science, added grandeur.

The lively After-Party facilitated connections among Ruby enthusiasts. In retrospect, I recommend this conference to the Ruby and Rails community. It proves that excellence can be found in simplicity.

Copyright © 2025 Closer to Code

Theme by Anders NorenUp ↑