← Graph

Under The Hood And On The Surface Of Sidekiq

talk 22 connections

Two-part talk by Paweł Dąbrowski at wroclove.rb 2022. Part one ('on the surface') covers good practices: naming jobs meaningfully, keeping parameters simple (pass references not values), avoiding enqueueing jobs inside DB transactions, keeping job logic small so retries are cheap, using a Redis connection pool for both app and Sidekiq, preferring Ruby's prepend/modules over inheritance for shared job concerns, handling retries so errors are only logged to monitoring once retries are exhausted (via an error-wrapper pattern and the sidekiq_retries_exhausted hook), and logging only meaningful data (including a middleware that adds job arguments to logs). Part two ('under the hood') explains how Sidekiq uses Redis: push flow (validate, assign defaults, client middleware, JSON verification, ZADD for scheduled jobs or SADD+LPUSH for immediate jobs) and pull flow (poller uses ZRANGEBYSCORE to move due jobs, manager uses BRPOP on queues, decodes payload, runs server middleware, instantiates the class and calls perform). Mentions the Sidekiq dashboard is a small Rack app with ERB views, and that Pro/Enterprise are paid gems distributed via a private RubyGems server.

type
talk
talk Under The Hood And On The Surface Of Sidekiq
about
Sidekiq tool
The entire talk is about Sidekiq — its usage patterns and its internals.
talk Under The Hood And On The Surface Of Sidekiq
about
Redis tool
The internals half of the talk walks through how Sidekiq uses Redis sorted sets, lists and sets.
talk Under The Hood And On The Surface Of Sidekiq
about
Explains client/server middleware as the last chance to reject jobs, and shows a log-enhancing middleware example.
talk Under The Hood And On The Surface Of Sidekiq
about
Recommends using a shared Redis connection pool for the app and Sidekiq.
talk Under The Hood And On The Surface Of Sidekiq
about
Shows how to wrap non-final errors so monitoring only receives final failures via sidekiq_retries_exhausted.
talk Under The Hood And On The Surface Of Sidekiq
about
Recommends prepending modules rather than using inheritance to share error-handling concerns across jobs.
asked_at
Under The Hood And On The Surface Of Sidekiq talk
Question asked during the Q&A of this talk.
asked_at
Under The Hood And On The Surface Of Sidekiq talk
Question asked during the Q&A of this talk.
asked_at
Under The Hood And On The Surface Of Sidekiq talk
Question asked during the Q&A of this talk.
asked_at
Under The Hood And On The Surface Of Sidekiq talk
Question asked during the Q&A of this talk.
asked_at
Under The Hood And On The Surface Of Sidekiq talk
Question asked during the Q&A of this talk.
asked_at
Under The Hood And On The Surface Of Sidekiq talk
Question asked during the Q&A of this talk.
asked_at
Under The Hood And On The Surface Of Sidekiq talk
Question asked during the Q&A of this talk.
authored
Under The Hood And On The Surface Of Sidekiq talk
Paweł Dąbrowski delivered this talk at wroclove.rb 2022.
from_talk
Under The Hood And On The Surface Of Sidekiq talk
Takeaway from the 'under the hood / on the surface' Sidekiq talk.
from_talk
Under The Hood And On The Surface Of Sidekiq talk
Recommendation from the practices half of the talk.
from_talk
Under The Hood And On The Surface Of Sidekiq talk
Warning from the practices half of the talk.
from_talk
Under The Hood And On The Surface Of Sidekiq talk
Recommendation from the practices half of the talk.
from_talk
Under The Hood And On The Surface Of Sidekiq talk
Recommendation from the practices half of the talk.
from_talk
Under The Hood And On The Surface Of Sidekiq talk
Paweł's learning philosophy shared during the transition into the internals section.
talk Under The Hood And On The Surface Of Sidekiq
presented_at
Talk presented at the wroclove.rb 2022 conference.
related_to
Under The Hood And On The Surface Of Sidekiq talk
Speaker says she remembered this approach because of a Sidekiq batches question raised during Paweł Dąbrowski's Sidekiq talk.

Provenance

Created
2026-04-17 16:17 seed
Read by
19 extractions