Good Job is a Good Boy Gem!

Aug 19, 2025 | Programming, Ruby

If you’re the Acting Ensign Crusher of Rails developers, you’ve probably heard about background jobs but are a little lost. They’re essential for building modern, responsive applications. But let’s be honest, the thought of adding another service to your stack can be daunting. Redis is great, but it’s another thing to manage, another thing to pay for, and another potential point of failure.

That’s where GoodJob comes in. It’s a background job processor that uses your existing PostgreSQL database. No Redis required; do you know what Redis is, Wesley 😉 . It’s a simple, elegant solution that’s perfect for many Rails applications. But is it right for your application? Let’s break it down.


The Good Stuff: Why You’ll Love GoodJob

  • Simplicity: This is the big one. GoodJob uses the database you’re already using. That means less setup, less configuration, and a simpler deployment process. For solo developers or small teams, this is a huge win.
  • Cost-Effective: Let’s talk about money. GoodJob is open-source and packed with features that you’d have to pay for with other solutions. We’re talking a built-in web dashboard, cron-like scheduled jobs, and batch processing, all for free. That’s more money in your pocket for other things, like that fancy mechanical keyboard you’ve been eyeing.
  • Data Integrity: By using your main database, GoodJob ensures that your jobs are part of your application’s transactional integrity. This means you can rely on the same data consistency you expect from the rest of your app.
  • Flexibility: GoodJob is surprisingly flexible. You can run it in a separate process for heavy-duty workloads, or you can run it in the same process as your web server for smaller, more lightweight tasks. This means it can grow with your application.

The Not-So-Good Stuff: When GoodJob Might Not Be a Good Fit

  • Database Load: This is the flip side of the simplicity coin. Because GoodJob uses your main database, a high volume of jobs could slow down your application. If you’re processing thousands of jobs a minute, you’ll want to keep a close eye on your database performance.
  • PostgreSQL Only: GoodJob is built for PostgreSQL. If you’re using MySQL or another database, you’re out of luck. This is a dealbreaker for some, but if you’re already on Postgres, it’s a non-issue.
  • Performance: For the vast majority of applications, GoodJob is plenty fast. But if you’re building a high-performance, high-throughput system, a Redis-based solution like Sidekiq might be a better choice. Redis is in-memory, which makes it incredibly fast for this kind of workload.

The Bottom Line

So, should you use GoodJob?

If you’re an emerging Rails developer working on a small to medium-sized application, I’d say absolutely. It’s simple, cost-effective, and it gets the job done without adding unnecessary complexity to your stack. It’s a great way to get started with background jobs without getting overwhelmed.

But if you’re working on a large-scale application with a high volume of jobs, you might want to consider a more traditional Redis-based solution. The performance benefits of Redis can be significant at that scale.

Ultimately, the choice is yours, but I’m a big fan of simplicity; that’s why I like Jar Jar so much. GoodJob is about as simple as it gets. It’s a great tool to have in your toolbox, and it’s a perfect example of the “convention over configuration” philosophy that makes Rails so great.

Live long and code!

PS, if your organization has some legacy data holding them back or need custom dev reach out to me at Alice.

More from Mike:

About Me

Hi! I’m Mike! I’m a software engineer who codes at The Mad Botter INC. You might know me from Coder Radio or The Mike Dominick Show.  Drop me a line if you’re interested in having some custom mobile or web development done.

Follow Me

© 2026 Copyright Michael Dominick | All rights reserved