37signals-jobs

Orchestrate asynchronous Rails jobs by delegating to model methods.

1|Updated Feb 3, 2026
One-click install
npx skills add https://github.com/joshyorko/agent-skills --skill 37signals-jobs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: 37signals-jobs
Source: https://github.com/joshyorko/agent-skills/tree/main/plugins/rails-37signals-patterns/skills/37signals-jobs
Command: npx skills add https://github.com/joshyorko/agent-skills --skill 37signals-jobs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Keeps business logic out of jobs by providing thin orchestrator jobs that delegate work to models, enabling easier testing and maintainability.

Core Features & Use Cases

  • Thin jobs that call model methods using the _later/_now convention for deterministic async vs sync behavior.
  • Rails 8.2 + ActiveJob + Solid Queue integration for Redis-free, database-backed background processing.
  • Support for recurring jobs, queue prioritization, and straightforward testing of model-level behavior.
  • Patterns for common workflows like notifications, batch processing, and external API calls with minimal job logic.

Quick Start

Create a thin job that calls a model method using the _later/_now convention and run it with Solid Queue.

Frequently Asked Questions about 37signals-jobs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I keep business logic out of Rails background jobs?

You keep business logic out of Rails background jobs by creating thin ActiveJob classes that delegate execution directly to model methods, making asynchronous processing easier to test and maintain.

What is the _later/_now convention in Solid Queue?

The _later/_now convention in Solid Queue provides deterministic async versus sync behavior by calling model methods, allowing you to test background job logic directly without complex job setups.

Can I use Solid Queue for background processing without Redis?

Yes, you can use Solid Queue for Redis-free background processing as it relies on a database-backed ActiveJob integration, providing recurring jobs and queue prioritization within Rails 8.2.

How do I test Solid Queue jobs in Rails 8.2?

You test Solid Queue jobs in Rails 8.2 by testing the underlying model methods directly, ensuring your jobs remain thin orchestrators that delegate business logic rather than containing it themselves.

Does Solid Queue support recurring jobs and queue prioritization?

Yes, Solid Queue supports recurring jobs and queue prioritization alongside standard ActiveJob features, allowing you to handle notifications, batch processing, and external API calls natively.

When should I not use thin jobs for asynchronous processing?

You should not use thin jobs for asynchronous processing if your application architecture prevents moving business logic into ActiveRecord models, as this pattern strictly requires jobs to delegate all work.