Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Sidekiq under the hood
Search
Anton Davydov
September 26, 2015
Programming
0
420
Sidekiq under the hood
Anton Davydov
September 26, 2015
Tweet
Share
More Decks by Anton Davydov
See All by Anton Davydov
How to make a technical decision
davydovanton
0
120
МГТУ
davydovanton
0
78
Events. Events. Events! - krk.rb
davydovanton
0
150
Events. Events. Events!
davydovanton
0
820
Event Sourcing RubySPBConf 2k18
davydovanton
1
210
Architecture of hanami applications
davydovanton
1
7.7k
Hanami Architecture
davydovanton
2
310
viewing ruby blossom kaigi2017
davydovanton
0
740
viewing ruby blossom rdrc2017
davydovanton
2
230
Other Decks in Programming
See All in Programming
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
110
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
200
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
150
Raku Raku Notion 20260128
hareyakayuruyaka
0
430
Claude Code、ちょっとした工夫で開発体験が変わる
tigertora7571
0
200
NOT A HOTEL - 建築や人と融合し、自由を創り出すソフトウェア
not_a_hokuts
2
550
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.4k
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
510
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
510
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
1
120
CSC307 Lecture 15
javiergs
PRO
0
220
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
150
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
210
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
220
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
120
Thoughts on Productivity
jonyablonski
75
5.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
130
ラッコキーワード サービス紹介資料
rakko
1
2.5M
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
A better future with KSS
kneath
240
18k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
210
Transcript
Hello!
github: davydovanton twitter: anton_davydov Anton Davydov
RCNTEC developer sidekiq commiter ruby doc / rails / crystal
OSS one love <3
@rubyunderhood curator https://twitter.com/rubyunderhood
@moscowrb http://moscow-rb.org
You Beer
You Beer Me
I (we) <3 sidekiq!
Simple, efficient background processing for Ruby.
Sidekiq server New thread
I (we) <3 actors!
Manager actor
Fetcher actors Manager actor
Redis Fetcher actors Manager actor
Redis Fetcher actors Processor actors Manager actor
Redis Fetcher actors Processor actors Manager actor Workers
MyWorker.perform_async
irb > MyWorker.perform_async Redis queue Serialization prams
Processor actors Fetcher actors Redis Manager actor Workers
Processor actors Manager actor Workers Fetcher actors Redis
Processor actors Manager actor Workers Fetcher actors Redis
Workers Processor actors Manager actor Fetcher actors Redis
LongWorker Redis
Redis Serialization prams LongWorker After 8 seconds
middleware
Sidekiq.configure_server do |config| config.server_middleware do |chain| chain.add YourMiddleware, options end
end
def call(worker, msg, queue) # code before call you worker
yield rescue => e # run if your worker is failed raise e ensure # run in your worker passed or failed end
def call(worker, msg, queue) # code before call you worker
yield rescue => e # run if your worker is failed raise e ensure # run in your worker passed or failed end
def call(worker, msg, queue) # code before call you worker
yield rescue => e # run if your worker is failed raise e ensure # run in your worker passed or failed end
def call(worker, msg, queue) # code before call you worker
yield rescue => e # run if your worker is failed raise e ensure # run in your worker passed or failed end
Sidekiq-statistic github.com/davydovanton/sidekiq-statistic
Improved display of statistics for your sidekiq workers and jobs.
None
None
None
None
Worker name Last job status Runtime Start time
Jobs per day charts for each worker Last job status
for each worker Passed and failed jobs count Average job time Max and min jobs time Total jobs time Last job time
I <3 feedback!
Anton Davydov github.com/davydovanton twitter.com/anton_davydov Thank you!