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
76
Events. Events. Events! - krk.rb
davydovanton
0
150
Events. Events. Events!
davydovanton
0
810
Event Sourcing RubySPBConf 2k18
davydovanton
1
200
Architecture of hanami applications
davydovanton
1
7.6k
Hanami Architecture
davydovanton
2
300
viewing ruby blossom kaigi2017
davydovanton
0
730
viewing ruby blossom rdrc2017
davydovanton
2
220
Other Decks in Programming
See All in Programming
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
210
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
140
Graviton と Nitro と私
maroon1st
0
150
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
440
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
680
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
430
Cap'n Webについて
yusukebe
0
160
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
150
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
510
Developing static sites with Ruby
okuramasafumi
0
340
これならできる!個人開発のすゝめ
tinykitten
PRO
0
140
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
98
Done Done
chrislema
186
16k
The Curse of the Amulet
leimatthew05
0
6.4k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
97
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
A Soul's Torment
seathinner
1
2.1k
Discover your Explorer Soul
emna__ayadi
2
1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
Skip the Path - Find Your Career Trail
mkilby
0
28
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
96
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
98
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!