← Extractions

Under The Hood And On The Surface Of Sidekiq — Paweł Dąbrowski at wroclove.rb 2022

Paweł Dąbrowski walks through Sidekiq best practices (naming, simple params, small jobs, connection pooling, prepend modules over inheritance, smart retry/logging) and then dives into Sidekiq internals — how jobs are pushed to and pulled from Redis, the poller/manager split, and the role of middleware. Q&A covers the Sidekiq 7 transaction-commit fix, wrappers vs inline logic, handling large ID lists with batches, Redis cluster support, scaling, and application-level back pressure.

Model
claude-opus-4-7
Ingestion
d18b56f7
Input tokens
313,388
fresh
194,039
cached
110,177
cache write
9,172
Output tokens
14,132
Duration
214.3s
Roundtrips
9
Tool calls
18
Cost
$0.00
Nodes/edges extracted
26 / 41
Read set (nodes/edges)
91 / 3

Nodes (26)

create My Ruby Story resource
kind (empty) → resource
name (empty) → My Ruby Story
slug (empty) → my-ruby-story
attrs (empty) → {"type" => "podcast"}
description (empty) → Podcast featuring the personal stories of Ruby developers. Paweł Dąbrowski has been invited as a guest.
short_description (empty) → Podcast telling Ruby developers' personal stories.
create Ironin blog resource
kind (empty) → resource
name (empty) → Ironin blog
slug (empty) → ironin-blog
attrs (empty) → {"type" => "blog-post"}
description (empty) → Technical blog run by Ironin where Paweł Dąbrowski publishes articles, mostly about Ruby.
short_description (empty) → Technical blog run by the Ironin software company.
update Paweł Dąbrowski person
attrs (empty) → {"role" => "CTO", "years_with_ruby" => "12"}
description Conference speaker. → Ruby developer with 12 years of Ruby experience. CTO at Ironin (part of the company since its beginning). Writes arti...
short_description Conference speaker. → Ruby developer and CTO at Ironin; Sidekiq speaker and blogger.
update Under The Hood And On The Surface Of Sidekiq talk
description Talk at wroclove.rb 2022. → Two-part talk by Paweł Dąbrowski at wroclove.rb 2022. Part one ('on the surface') covers good practices: naming jobs ...
short_description Talk at wroclove.rb 2022. → wroclove.rb 2022 talk on Sidekiq good practices and internals.
create Ironin company
kind (empty) → company
name (empty) → Ironin
slug (empty) → ironin
attrs (empty) → {"industry" => "software development"}
description (empty) → Software company focused on Ruby development. Paweł Dąbrowski has been part of Ironin since the beginning of the comp...
short_description (empty) → Ruby-focused software company where Paweł Dąbrowski works as CTO.
update Sidekiq tool
description Background-job processor for Ruby/Rails. Mentioned as an application-level concern that must be designed for multi-te... → Open-source Ruby background job processor backed by Redis, with paid Pro and Enterprise editions. Simple to get start...
create Mike Perham person
kind (empty) → person
name (empty) → Mike Perham
slug (empty) → mike-perham
description (empty) → Creator of the Sidekiq background job processor. About a year before wroclove.rb 2022 he renamed Sidekiq's 'workers' ...
short_description (empty) → Creator of Sidekiq.
update Redis tool
description Used by AnyCable as the default transport for broadcasting messages from the Rails application to the external WebSoc... → Open-source in-memory data store based on key/value pairs with data types including sets, sorted sets, lists and hash...
create AppSignal tool
kind (empty) → tool
name (empty) → AppSignal
slug (empty) → appsignal
attrs (empty) → {"category" => "service"}
description (empty) → APM and error-monitoring service used as the example provider in Paweł Dąbrowski's Sidekiq talk when showing how to a...
short_description (empty) → Application performance and error monitoring service.
create Ruby Rogues resource
kind (empty) → resource
name (empty) → Ruby Rogues
slug (empty) → ruby-rogues
attrs (empty) → {"type" => "podcast"}
description (empty) → Podcast about Ruby and software development where Paweł Dąbrowski has been invited as a guest.
short_description (empty) → Podcast about Ruby and software development.
create Connection Pool for Redis concept
kind (empty) → concept
name (empty) → Connection Pool for Redis
slug (empty) → connection-pool-for-redis
attrs (empty) → {"category" => "practice"}
description (empty) → When Sidekiq and the application run against a single Redis instance, they can exhaust available connections because ...
short_description (empty) → Sharing a pooled Redis connection between Sidekiq and the host application.
create Sidekiq Middleware concept
kind (empty) → concept
name (empty) → Sidekiq Middleware
slug (empty) → sidekiq-middleware
attrs (empty) → {"category" => "pattern"}
description (empty) → Extension points in Sidekiq. Client middleware runs as the last step before a job payload is saved into Redis and is ...
short_description (empty) → Hooks invoked around Sidekiq's client-push and server-execute flows.
create Retry Error Wrapper Pattern concept
kind (empty) → concept
name (empty) → Retry Error Wrapper Pattern
slug (empty) → retry-error-wrapper-pattern
attrs (empty) → {"category" => "pattern"}
description (empty) → Pattern to avoid paying monitoring services for errors that will still be retried: define an error wrapper class that...
short_description (empty) → Wrap non-final Sidekiq errors so monitoring only logs them once retries are exhausted.
create Prefer Prepend Over Inheritance For Jobs takeaway
kind (empty) → takeaway
name (empty) → Prefer Prepend Over Inheritance For Jobs
slug (empty) → prefer-prepend-over-inheritance-for-jobs
attrs (empty) → {"type" => "recommendation"}
description (empty) → Inheritance forces one parent; jobs that share overlapping (but not identical) concerns such as rescuing different co...
short_description (empty) → Share job behavior via prepended modules, not a big shared parent class.
create Keep Sidekiq Job Parameters Simple takeaway
kind (empty) → takeaway
name (empty) → Keep Sidekiq Job Parameters Simple
slug (empty) → keep-sidekiq-job-parameters-simple
attrs (empty) → {"type" => "recommendation"}
description (empty) → Simple parameters are easier to enqueue (manually or automatically), easier to spot in the dashboard and logs, enable...
short_description (empty) → Pass references (IDs) to Sidekiq jobs, not complex objects or raw values.
create Don't Enqueue Jobs Inside A Transaction takeaway
kind (empty) → takeaway
name (empty) → Don't Enqueue Jobs Inside A Transaction
slug (empty) → don-t-enqueue-jobs-inside-a-transaction
attrs (empty) → {"type" => "warning"}
description (empty) → A job enqueued inside a transaction may run before the transaction commits (seeing stale data or missing rows), or be...
short_description (empty) → Jobs queued inside a DB transaction can run before or instead of commit.
create Prefer Small Sidekiq Jobs takeaway
kind (empty) → takeaway
name (empty) → Prefer Small Sidekiq Jobs
slug (empty) → prefer-small-sidekiq-jobs
attrs (empty) → {"type" => "recommendation"}
description (empty) → Keep job logic simple and split multi-step work into separate jobs (e.g. one job per website to scrape rather than on...
short_description (empty) → Split work into small jobs for faster concurrency, easy retries and progress tracking.
create Name Sidekiq Jobs After Their Responsibility takeaway
kind (empty) → takeaway
name (empty) → Name Sidekiq Jobs After Their Responsibility
slug (empty) → name-sidekiq-jobs-after-their-responsibility
attrs (empty) → {"type" => "recommendation"}
description (empty) → Avoid generic class names like DeleteUsers or ResumeProcessor. Pick names that describe the responsibility and mark t...
short_description (empty) → Use meaningful, specific job class names including 'Job' suffix.
create Sidekiq Retry Race Condition Fixed In 7 question
kind (empty) → question
name (empty) → Sidekiq Retry Race Condition Fixed In 7
slug (empty) → sidekiq-retry-race-condition-fixed-in-7
attrs (empty) → {"answer_summary" => "Paweł didn't know the mechanism; Sidekiq 7 will make jobs wait for commit. An attendee suggeste...
description (empty) → Audience question asking how Sidekiq 7 solves the race condition of jobs scheduled inside a database transaction runn...
short_description (empty) → How does Sidekiq 7 prevent jobs from running before the transaction commits?
create Wrapper Job vs Logic In Job question
kind (empty) → question
name (empty) → Wrapper Job vs Logic In Job
slug (empty) → wrapper-job-vs-logic-in-job
attrs (empty) → {"answer_summary" => "It depends; Paweł prefers basic checks in the job calling a service object, with idempotency in...
description (empty) → Audience question about conflicting recommendations: keep the job as a thin wrapper calling a service object, or trea...
short_description (empty) → Should Sidekiq jobs be thin wrappers over service objects, or hold logic directly?
create Passing Large Lists Of IDs To Jobs question
kind (empty) → question
name (empty) → Passing Large Lists Of IDs To Jobs
slug (empty) → passing-large-lists-of-ids-to-jobs
attrs (empty) → {"answer_summary" => "Prefer Sidekiq batches of single-ID jobs with a completion callback, using open-source replacem...
description (empty) → Audience question about passing a whole list of a few hundred object IDs to one job versus scheduling many single-ID ...
short_description (empty) → Is it okay to pass hundreds of IDs to a single Sidekiq job?
create Deduplicating Jobs For The Same Record question
kind (empty) → question
name (empty) → Deduplicating Jobs For The Same Record
slug (empty) → deduplicating-jobs-for-the-same-record
attrs (empty) → {"answer_summary" => "Execute sequentially when possible, or concurrently with optimistic locking; solution is case-s...
description (empty) → Audience question about a scenario where many queue messages concern the same record and generate jobs. Paweł's answe...
short_description (empty) → How to avoid redundant jobs when many messages concern the same record?
create Sidekiq And Redis Cluster question
kind (empty) → question
name (empty) → Sidekiq And Redis Cluster
slug (empty) → sidekiq-and-redis-cluster
attrs (empty) → {"answer_summary" => "Paweł hadn't investigated and wasn't aware of the limitation."}
description (empty) → Audience question about Sidekiq's incompatibility with Redis Cluster. Paweł hadn't investigated it and wasn't aware o...
short_description (empty) → Why doesn't Sidekiq work with Redis Cluster?
create Scaling Sidekiq Elastically question
kind (empty) → question
name (empty) → Scaling Sidekiq Elastically
slug (empty) → scaling-sidekiq-elastically
attrs (empty) → {"answer_summary" => "Paweł uses multiple Sidekiq/Redis instances; right approach depends on data uniqueness and the ...
description (empty) → Audience question comparing Sidekiq scaling to AWS Lambda's behavior of killing idle containers and spinning up new o...
short_description (empty) → How to scale Sidekiq up and down like AWS Lambda containers?
create Application-Level Back Pressure For Sidekiq question
kind (empty) → question
name (empty) → Application-Level Back Pressure For Sidekiq
slug (empty) → application-level-back-pressure-for-sidekiq
attrs (empty) → {"answer_summary" => "Possible in principle via Redis stats; Paweł hasn't implemented it and recommends careful plann...
description (empty) → Audience question about implementing back pressure at the application level so the app avoids generating more events ...
short_description (empty) → Can the application throttle event generation based on Sidekiq load?
create Read The Documentation At Every Learning Step takeaway
kind (empty) → takeaway
name (empty) → Read The Documentation At Every Learning Step
slug (empty) → read-the-documentation-at-every-learning-step
attrs (empty) → {"type" => "insight"}
description (empty) → Paweł's learning philosophy: learn a tool enough to build something, then production-harden it, then look at good pra...
short_description (empty) → Documentation is valuable at every level of seniority and every learning phase.

Edges (41)

create Scaling Sidekiq Elastically → asked_at → Under The Hood And On The Surface Of Sidekiq
context (empty) → Question asked during the Q&A of this talk.
relation (empty) → asked_at
source_node_id (empty) → 75c4d71c-9cdc-4fde-8364-b66d96030f70
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
update Paweł Dąbrowski → authored → Under The Hood And On The Surface Of Sidekiq
context (empty) → Paweł Dąbrowski delivered this talk at wroclove.rb 2022.
update Under The Hood And On The Surface Of Sidekiq → presented_at → wroclove.rb 2022
context (empty) → Talk presented at the wroclove.rb 2022 conference.
create Paweł Dąbrowski → works_at → Ironin
attrs (empty) → {"role" => "CTO"}
context (empty) → Paweł has been part of Ironin since the beginning of the company and works as CTO.
relation (empty) → works_at
source_node_id (empty) → ae2d0935-f0df-4bf2-9f6c-17d43c26901a
target_node_id (empty) → b02f5245-d5d6-474e-afad-76eede638979
create Paweł Dąbrowski → has_skill → Ruby
attrs (empty) → {"level" => "expert"}
context (empty) → Self-describes as a Ruby guy with 12 years of experience.
relation (empty) → has_skill
source_node_id (empty) → ae2d0935-f0df-4bf2-9f6c-17d43c26901a
target_node_id (empty) → c7f25b33-06c9-460e-aca7-fe993123ebee
create Paweł Dąbrowski → has_skill → Sidekiq
attrs (empty) → {"level" => "expert"}
context (empty) → Speaker gave a two-part Sidekiq talk covering both good practices and internals.
relation (empty) → has_skill
source_node_id (empty) → ae2d0935-f0df-4bf2-9f6c-17d43c26901a
target_node_id (empty) → 2365c22d-c83e-4553-b865-ec22d0b5b225
create Paweł Dąbrowski → authored → Ironin blog
context (empty) → Paweł writes articles on the Ironin blog.
relation (empty) → authored
source_node_id (empty) → ae2d0935-f0df-4bf2-9f6c-17d43c26901a
target_node_id (empty) → feb4177f-81bb-4a50-a8fd-b0897ab6199f
create Paweł Dąbrowski → related_to → Ruby Rogues
attrs (empty) → {"role" => "podcast guest"}
context (empty) → Paweł has been invited as a guest on the Ruby Rogues podcast.
relation (empty) → related_to
source_node_id (empty) → ae2d0935-f0df-4bf2-9f6c-17d43c26901a
target_node_id (empty) → 6261575f-49a8-4361-947e-a41b85ecf185
create Paweł Dąbrowski → related_to → My Ruby Story
attrs (empty) → {"role" => "podcast guest"}
context (empty) → Paweł has been invited as a guest on the My Ruby Story podcast.
relation (empty) → related_to
source_node_id (empty) → ae2d0935-f0df-4bf2-9f6c-17d43c26901a
target_node_id (empty) → 6aaefb5e-ae34-44c5-8b20-7b7a068b580e
create Paweł Dąbrowski → related_to → AppSignal
attrs (empty) → {"role" => "guest blog author"}
context (empty) → Paweł occasionally publishes guest articles on the AppSignal blog and used AppSignal as the example monitoring servic...
relation (empty) → related_to
source_node_id (empty) → ae2d0935-f0df-4bf2-9f6c-17d43c26901a
target_node_id (empty) → aced24a8-299a-442d-97eb-94d0a62763e7
create Under The Hood And On The Surface Of Sidekiq → about → Sidekiq
context (empty) → The entire talk is about Sidekiq — its usage patterns and its internals.
relation (empty) → about
source_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
target_node_id (empty) → 2365c22d-c83e-4553-b865-ec22d0b5b225
create Under The Hood And On The Surface Of Sidekiq → about → Redis
context (empty) → The internals half of the talk walks through how Sidekiq uses Redis sorted sets, lists and sets.
relation (empty) → about
source_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
target_node_id (empty) → 4651221d-1a5e-4989-bac2-017a8b614da1
create Under The Hood And On The Surface Of Sidekiq → about → Sidekiq Middleware
context (empty) → Explains client/server middleware as the last chance to reject jobs, and shows a log-enhancing middleware example.
relation (empty) → about
source_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
target_node_id (empty) → 87b0a96a-be75-4487-8073-36c83629433f
create Under The Hood And On The Surface Of Sidekiq → about → Connection Pool for Redis
context (empty) → Recommends using a shared Redis connection pool for the app and Sidekiq.
relation (empty) → about
source_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
target_node_id (empty) → ad95b349-9de4-4f40-9746-832ce4cca3a2
create Under The Hood And On The Surface Of Sidekiq → about → Retry Error Wrapper Pattern
context (empty) → Shows how to wrap non-final errors so monitoring only receives final failures via sidekiq_retries_exhausted.
relation (empty) → about
source_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
target_node_id (empty) → 7861a49c-e46b-4c5f-86d2-9f1e0e23aa70
create Under The Hood And On The Surface Of Sidekiq → about → Ruby Module Customization Mechanics
context (empty) → Recommends prepending modules rather than using inheritance to share error-handling concerns across jobs.
relation (empty) → about
source_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
target_node_id (empty) → 1a968896-f6eb-40bc-ab5c-7de248469340
create Sidekiq → uses → Redis
context (empty) → Sidekiq persists queues, payloads and scheduled jobs in Redis.
relation (empty) → uses
source_node_id (empty) → 2365c22d-c83e-4553-b865-ec22d0b5b225
target_node_id (empty) → 4651221d-1a5e-4989-bac2-017a8b614da1
create Mike Perham → works_on → Sidekiq
attrs (empty) → {"role" => "creator"}
context (empty) → Mike Perham is the creator of Sidekiq; he renamed 'workers' to 'jobs' roughly a year before the talk.
relation (empty) → works_on
source_node_id (empty) → d72c57bc-0d08-47cf-a54a-8fea4105eee6
target_node_id (empty) → 2365c22d-c83e-4553-b865-ec22d0b5b225
create Prefer Prepend Over Inheritance For Jobs → from_talk → Under The Hood And On The Surface Of Sidekiq
context (empty) → Takeaway from the 'under the hood / on the surface' Sidekiq talk.
relation (empty) → from_talk
source_node_id (empty) → d23d3896-c3f3-4e91-9ada-c3d095cd58b9
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
create Prefer Prepend Over Inheritance For Jobs → about → Ruby Module Customization Mechanics
context (empty) → Relies on Ruby's prepend vs include semantics for module composition.
relation (empty) → about
source_node_id (empty) → d23d3896-c3f3-4e91-9ada-c3d095cd58b9
target_node_id (empty) → 1a968896-f6eb-40bc-ab5c-7de248469340
create Keep Sidekiq Job Parameters Simple → from_talk → Under The Hood And On The Surface Of Sidekiq
context (empty) → Recommendation from the practices half of the talk.
relation (empty) → from_talk
source_node_id (empty) → 95f492ab-c5ad-4d36-94d5-442cff1e485c
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
create Keep Sidekiq Job Parameters Simple → about → Sidekiq
context (empty) → Concerns how arguments should be passed to Sidekiq jobs.
relation (empty) → about
source_node_id (empty) → 95f492ab-c5ad-4d36-94d5-442cff1e485c
target_node_id (empty) → 2365c22d-c83e-4553-b865-ec22d0b5b225
create Don't Enqueue Jobs Inside A Transaction → from_talk → Under The Hood And On The Surface Of Sidekiq
context (empty) → Warning from the practices half of the talk.
relation (empty) → from_talk
source_node_id (empty) → 10416f9b-ff06-45ee-b7f6-a7b135a52a26
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
create Don't Enqueue Jobs Inside A Transaction → about → Sidekiq
context (empty) → Describes a historical Sidekiq race condition fixed in Sidekiq 7.
relation (empty) → about
source_node_id (empty) → 10416f9b-ff06-45ee-b7f6-a7b135a52a26
target_node_id (empty) → 2365c22d-c83e-4553-b865-ec22d0b5b225
create Prefer Small Sidekiq Jobs → from_talk → Under The Hood And On The Surface Of Sidekiq
context (empty) → Recommendation from the practices half of the talk.
relation (empty) → from_talk
source_node_id (empty) → 0806ec16-acca-45f5-8ca3-d7f8bb68bc06
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
create Prefer Small Sidekiq Jobs → about → Sidekiq Batches
context (empty) → Small-job decomposition pairs well with Sidekiq batches for progress tracking and callbacks.
relation (empty) → about
source_node_id (empty) → 0806ec16-acca-45f5-8ca3-d7f8bb68bc06
target_node_id (empty) → e38e44d9-6141-41d1-8aa9-5589b41e3d43
create Name Sidekiq Jobs After Their Responsibility → from_talk → Under The Hood And On The Surface Of Sidekiq
context (empty) → Recommendation from the practices half of the talk.
relation (empty) → from_talk
source_node_id (empty) → f0116072-988a-4b01-a3ed-a6647fecd696
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
create Read The Documentation At Every Learning Step → from_talk → Under The Hood And On The Surface Of Sidekiq
context (empty) → Paweł's learning philosophy shared during the transition into the internals section.
relation (empty) → from_talk
source_node_id (empty) → d5ce237c-3d6e-4323-9347-8d40094bc632
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
create Sidekiq Retry Race Condition Fixed In 7 → asked_at → Under The Hood And On The Surface Of Sidekiq
context (empty) → Question asked during the Q&A of this talk.
relation (empty) → asked_at
source_node_id (empty) → 7219b748-d006-46a2-8cd5-fe7c5aea74f3
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
create Sidekiq Retry Race Condition Fixed In 7 → about → Sidekiq
context (empty) → Concerns Sidekiq 7's fix for the transaction-commit race condition.
relation (empty) → about
source_node_id (empty) → 7219b748-d006-46a2-8cd5-fe7c5aea74f3
target_node_id (empty) → 2365c22d-c83e-4553-b865-ec22d0b5b225
create Wrapper Job vs Logic In Job → asked_at → Under The Hood And On The Surface Of Sidekiq
context (empty) → Question asked during the Q&A of this talk.
relation (empty) → asked_at
source_node_id (empty) → 487a062c-07fc-4cd1-a951-6f01efda88c8
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
create Wrapper Job vs Logic In Job → about → Sidekiq
context (empty) → About how to structure Sidekiq job classes.
relation (empty) → about
source_node_id (empty) → 487a062c-07fc-4cd1-a951-6f01efda88c8
target_node_id (empty) → 2365c22d-c83e-4553-b865-ec22d0b5b225
create Passing Large Lists Of IDs To Jobs → asked_at → Under The Hood And On The Surface Of Sidekiq
context (empty) → Question asked during the Q&A of this talk.
relation (empty) → asked_at
source_node_id (empty) → ff2fb630-9de3-4493-8468-3b4b0c5e8b3a
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
create Passing Large Lists Of IDs To Jobs → about → Sidekiq Batches
context (empty) → Paweł's answer recommends Sidekiq batches with per-ID jobs.
relation (empty) → about
source_node_id (empty) → ff2fb630-9de3-4493-8468-3b4b0c5e8b3a
target_node_id (empty) → e38e44d9-6141-41d1-8aa9-5589b41e3d43
create Deduplicating Jobs For The Same Record → asked_at → Under The Hood And On The Surface Of Sidekiq
context (empty) → Question asked during the Q&A of this talk.
relation (empty) → asked_at
source_node_id (empty) → 30f65f55-676e-42ef-9eb7-faad9109488e
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
create Sidekiq And Redis Cluster → asked_at → Under The Hood And On The Surface Of Sidekiq
context (empty) → Question asked during the Q&A of this talk.
relation (empty) → asked_at
source_node_id (empty) → afec7633-1d95-4dcb-a48a-f5634ceae8ee
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
create Sidekiq And Redis Cluster → about → Redis
context (empty) → Concerns Sidekiq compatibility with Redis Cluster mode.
relation (empty) → about
source_node_id (empty) → afec7633-1d95-4dcb-a48a-f5634ceae8ee
target_node_id (empty) → 4651221d-1a5e-4989-bac2-017a8b614da1
create Scaling Sidekiq Elastically → about → Sidekiq
context (empty) → About how to scale Sidekiq up and down.
relation (empty) → about
source_node_id (empty) → 75c4d71c-9cdc-4fde-8364-b66d96030f70
target_node_id (empty) → 2365c22d-c83e-4553-b865-ec22d0b5b225
create Application-Level Back Pressure For Sidekiq → asked_at → Under The Hood And On The Surface Of Sidekiq
context (empty) → Question asked during the Q&A of this talk.
relation (empty) → asked_at
source_node_id (empty) → 15ae9132-f07a-4071-8055-efe06f62dbc7
target_node_id (empty) → 7e319931-6d6a-4258-828c-c5d21255aea6
create Application-Level Back Pressure For Sidekiq → about → Sidekiq
context (empty) → About throttling enqueues based on Sidekiq/Redis load.
relation (empty) → about
source_node_id (empty) → 15ae9132-f07a-4071-8055-efe06f62dbc7
target_node_id (empty) → 2365c22d-c83e-4553-b865-ec22d0b5b225
create Paweł Dąbrowski → recommends → Sidekiq Batches
context (empty) → In Q&A, recommends Sidekiq batches for processing large lists of IDs.
relation (empty) → recommends
source_node_id (empty) → ae2d0935-f0df-4bf2-9f6c-17d43c26901a
target_node_id (empty) → e38e44d9-6141-41d1-8aa9-5589b41e3d43

Read set

91 nodes

tool Sidekiq search_nodes concept Sidekiq Batches search_nodes talk Sidekiq Batches Lightning Talk search_nodes tool carrierwave_backgrounder search_nodes takeaway Prefer a simple top-to-bottom worker search_nodes talk Under The Hood And On The Surface Of Sidekiq search_nodes+get_node_edges question Adding imageflow to image_processing gem search_nodes tool image_processing gem search_nodes concept Trailblazer Workflow search_nodes tool knapsack_pro search_nodes person Paweł Dąbrowski search_nodes+get_node_edges project Ruby Romania search_nodes person Julik Tarkhanov search_nodes talk Scientific Ruby Lightning Talk search_nodes person Emiliano Della Casa search_nodes tool TruffleRuby search_nodes talk Rubyana Gems and the Ractorous Rubetta Stones! search_nodes tool Ruby search_nodes person Adam Okoń search_nodes tool Distributed Ruby search_nodes takeaway MySQL Data Directory in RAM search_nodes tool Redis search_nodes tool DBM / SDBM / GDBM search_nodes tool PStore search_nodes tool RequestStore search_nodes tool Entity Store search_nodes tool Ruby Event Store search_nodes concept Event Store search_nodes tool rails_event_store search_nodes resource Short Ruby Newsletter search_nodes person Akira Matsuda search_nodes talk JRuby: Professional-Grade Ruby search_nodes person DHH search_nodes tool Ruby on Rails search_nodes event wroclove.rb 2022 search_nodes event wroclove.rb 2023 search_nodes event wroclove.rb 2024 search_nodes event wroclove.rb 2019 search_nodes event wroclove.rb 2018 search_nodes event wroclove.rb 2026 search_nodes event wroclove.rb 2025 search_nodes talk Building LLM powered applications in Ruby search_nodes talk Data Management With Ruby search_nodes talk Fix Production Bugs 20x Faster search_nodes company SpaceX search_nodes takeaway Buy Faster Hardware search_nodes takeaway Be kind and build useful things search_nodes company Red Hat search_nodes resource awesome-ddd search_nodes company Salesforce search_nodes tool JIRA search_nodes concept Ideal Rails System Properties search_nodes tool Tailwind CSS search_nodes concept GitHub Self-Hosted Runner search_nodes takeaway Name Things To Find Their Properties search_nodes tool interactor search_nodes tool Iodine search_nodes takeaway Sign serverlessforruby.org petition search_nodes project AnyCable search_nodes tool Codecov search_nodes tool webpagetest.org search_nodes takeaway Trailblazer tracing saves thousands of debugging hours search_nodes takeaway Contribute to Arkency aggregates repository search_nodes concept Logux Proxy search_nodes tool heapy search_nodes talk Events events events search_nodes concept Waterfall Analysis search_nodes talk Introducing Sorbet into your Ruby codebase search_nodes talk To Refine or Not to Refine search_nodes talk Ruby Standard Library Hidden Gems Lightning Talk search_nodes talk Enterprise Rails Panel search_nodes project rails_event_store/ecommerce search_nodes concept Active Record search_nodes tool Active Admin search_nodes tool Celluloid search_nodes takeaway Avoid Active Record callbacks for media processing search_nodes project Petri Nets Performance Prediction Gem search_nodes concept Ruby Module Customization Mechanics search_nodes concept Refinements search_nodes concept ActiveSupport Core Extensions search_nodes takeaway Use Refinements for Coordinated Modernization search_nodes tool methods gem search_nodes concept Method References in Ruby search_nodes tool Prime (Ruby stdlib) search_nodes person Andrzej Krzywda search_nodes person Wojtek Wrona search_nodes talk It is not so bad, after all search_nodes person Michał Bronikowski search_nodes person Jan search_nodes tool actions/upload-artifact search_nodes tool Standard RB search_nodes

3 edges