rails-jobs

Installation
SKILL.md

Rails Jobs

Use for background job design and review. Patterns from Campfire (Resque, 4 thin jobs) and Fizzy (Solid Queue, multi-queue).

Defaults

  • Keep jobs shallow; the job body is one line calling a model method: def perform(card) = card.notify_recipients.
  • Make jobs idempotent and safe to retry (e.g. rescue RecordNotUnique in the domain op).
  • Fail loudly on real errors; avoid silent rescue patterns.
  • Set ActiveJob::Base.enqueue_after_transaction_commit = true in app defaults — fixes job-before-data races at the root.
  • Prefer Solid Queue (database-backed) over Redis-backed queues for new apps; co-locate with Puma (SOLID_QUEUE_IN_PUMA) in small deployments.

Naming Convention

  • _later enqueues, plain name does the work, _now when you need an explicit synchronous twin:
Installs
41
GitHub Stars
715
First Seen
Jun 9, 2026
rails-jobs — marckohlbrugge/37signals-skills