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
DaemonKit @ RubyKaigi 2009
Search
Kenneth Kalmer
July 18, 2009
Technology
0
17
DaemonKit @ RubyKaigi 2009
My RubyKaigi 2009 lightning talk on daemon-kit
Kenneth Kalmer
July 18, 2009
Tweet
Share
More Decks by Kenneth Kalmer
See All by Kenneth Kalmer
Reframing Single Page Apps for the Future
kennethkalmer
1
94
Make Your CI Server a Productive Team Member
kennethkalmer
2
390
Make it a team mate - Getting more from your CI (Ruby edition)
kennethkalmer
1
49
Getting more from your CI - Lightning Version
kennethkalmer
0
33
Broken Dreams and Shattered Promises
kennethkalmer
0
240
Why Ruby?
kennethkalmer
0
73
Unleashing the Rails Asset Pipeline
kennethkalmer
0
52
Reusing your frontend JS on the server with V8/Rhino
kennethkalmer
2
5.6k
Ruby - Behind the Scenes
kennethkalmer
0
23
Other Decks in Technology
See All in Technology
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1k
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
380
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
330
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
370
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.1k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2k
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
500
クラウドサービス事業者におけるOSS
tagomoris
0
210
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
230
Platform Engineeringは自由のめまい
nwiizo
4
2k
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
150
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
700
Featured
See All Featured
Embracing the Ebb and Flow
colly
84
4.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
We Have a Design System, Now What?
morganepeng
51
7.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Designing for Performance
lara
604
68k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Raft: Consensus for Rubyists
vanstee
137
6.8k
What's in a price? How to price your products and services
michaelherold
244
12k
A Tale of Four Properties
chriscoyier
158
23k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Transcript
Facing your daemons
Ruby daemons are a PITA Tired of brittle daemons
? Tired of running blind ? Tired of setting up monitoring ? Tired of worrying about logging ? Tired of missing pid files ?
daemonkit http://github.com/kennethkalmer/daemon-kit Kenneth Kalmer @kennethkalmer http://opensourcery.co.za
daemonkit ? Opionated Framework for Ruby daemons Keep
things DRY Generators to help make things simple Rake tasks to help keep things simple
Multiple environments Development Be noisy, break early, break
hard Testing Staging Production Be quiet, stay alive, recover easily
Don't worry about pid files Managed for you
Infered or explicit files Great for controlling clusters Handles stale pid files
Don't worry about logging Multiple levels Syslog support
Log rotation friendly (HUP)
Don't worry about configuration Simple YAML config files
Ondemand hashes Environmentaware configuration Defaults and environment specific overrides
Don't worry about monitoring Generate monit/god configuration files via
rake
Don't worry about silent death Safety nets for threads
Hoptoad integration Exception emails Change logging levels with SIGUSR1/SIGUSER2
Generators accelarate AMQP consumer Nanite agent XMPP
bot Cron daemon Ruote remote participants $ daemon_kit mydaemon i amqp
Easy deployment Custom capistrano recipe tailored for daemons
Awaiting vlad contribution :) $ daemon_kit mydaemon d capistrano $ ./script/generate deploy_capistrano
Suitable for networking EventMachine is a dependency AMQP
uses EM Scheduler uses EM XMPP to use EM (under construction)
Looking forward RobustThread support Bundled thread/fibre pool implementation
Sys V Init script generation Bleakhouse support Privilege dropping & chroot'ing
Arigato gozaimasu ! http://github.com/kennethkalmer/daemonkit http://kit.rubyforge.org/daemon/rdoc #daemonkit on
Freenode http://opensourcery.co.za @kennethkalmer