Sidekiq

Sidekiq offers "simple, efficient background processing for Ruby." It's what we use when we need to easily perform parallel work or asynchronous jobs behind the scenes. Learn everything from the basics up through features offered in the Pro and Enterprise versions.

Lessons

Each lesson focuses on a single aspect of building the project, like modeling the data, building a GraphQL server in Elixir, or building a mobile client for it in Flutter.

free

Introduction to Sidekiq

A basic introduction and overview of the Sidekiq background processing system.

free

Installation and First Job

Installing Sidekiq and writing and executing your first job.

free

Serialization of Arguments

Considerations for data types used in arguments in your workers.

free

Error Handling

A discussion of Sidekiq's retry process, exception monitoring, and idempotence.

free

Signal Handling

Interacting with your Sidekiq worker processes via UNIX signals.

free

Deployment

Deploying a Rails app to Heroku that uses Sidekiq for background processing.

free

API

Diving into Sidekiq's Ruby API.

free

Sidekiq Pro: Reliability and Pausing Queues

Exploring what can go wrong with Sidekiq when workers die unceremoniously and how Sidekiq Pro resolves the issue. Also, examining the ability to pause queues.

free

Sidekiq Pro: Batches and Callbacks

Creating batches of jobs that can be monitored as a group, and having callbacks run when the batch is complete.

free

Sidekiq Pro: Expiring Jobs and Filtering in the Web UI

Handling jobs that have a limited useful time window in the event of busy queues, and filtering retries in the Web UI.

free

Sidekiq Pro: Speedy API Extensions

Sidekiq Pro's speedy API extensions, deleting jobs by `jid` and class, finding jobs by jid, and batch status.

free

Sidekiq Enterprise: Periodic Jobs

Scheduling jobs to run periodically; in other words, "cron for Sidekiq workers".

free

Sidekiq Enterprise: Unique Jobs

Using Sidekiq Enterprise to save you from duplicate jobs.

free

Sidekiq Enterprise: Rate Limiting

Using Sidekiq's Rate Limiters to get around pesky API SLAs.

free

Sidekiq Enterprise: Encryption and Multi-Process

Encrypting secrets at rest, and managing multiple sidekiqs with a single binary

Authors

The code in the applications was produced by:

./josh adams

Josh Adams

I've been building web-based software for businesses for over 18 years. In the last four years I realized that functional programming was in fact amazing, and have been pretty eager since then to help people build software better.

Featured Lessons

Our content library is pretty great, here are a few lessons we think you might like.

What our Superusers are Saying!

Some other people were willing to publicly state that they like us!

Taylor Dolezal

Software Architect

Smooth Terminal has easily been one of the most helpful resources on my journey to better understand Elixir and the Phoenix web framework.

James Edward II

Developer

With any language there are so many details to learn. What functions are built-in? How should I structure my code? What tools are available for improving my workflow? It’s rare to find one source that can answer so many of these questions, but Smooth Terminal does this and more.

Rex Van Der Spuy

Game developer

Smooth Terminal is by far the best resource for learning Elm anywhere, and among the very best online learning platforms, period.