Junior Track Roadmap

Job processors: Sidekiq aware

This course compares Sidekiq with Solid Queue, the job backend this Rails app runs. It covers how a Sidekiq::Job class differs from this app's ActiveJob classes and where each system stores queued work: Redis or PostgreSQL. It explains what Redis persistence settings mean for durability. It also compares Sidekiq's automatic retries with opt-in retry_on, and threads in one process with dispatcher and worker pools. Sidekiq's Web UI is set against an app with no jobs dashboard. The last lesson weighs Rails' published reasoning against Sidekiq's benchmarks.

What you'll learn

  • ✓How Sidekiq's native API (perform_async, perform_in, perform_at) differs from ActiveJob's perform_later
  • ✓Why Sidekiq needs a separate Redis service and how RDB and AOF affect durability
  • ✓How Sidekiq's default 25 retries compare with ActiveJob's opt-in retry_on and Solid Queue's failed executions
  • ✓How Sidekiq threads and weighted queues compare with Solid Queue dispatchers and worker pools
  • ✓What Sidekiq's Web UI shows and how its free and paid tiers differ
  • ✓How to weigh Rails' stated reasoning and Sidekiq's benchmarks when choosing a job processor
Free preview · Lesson 1 3 min read

Two philosophies, one job: Redis or the database

A background job is a promise to do something later: send an email, fetch an image, recalculate a stat. Between the moment your code says "do this later" and the moment a worker runs it, that promise has to sit somewhere durable enough to survive a deploy, a crash or a restart. Two…

Read the full lesson free →

Curriculum

7 lessons
Type to start searching...