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
18
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
98
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
51
Getting more from your CI - Lightning Version
kennethkalmer
0
35
Broken Dreams and Shattered Promises
kennethkalmer
0
250
Why Ruby?
kennethkalmer
0
76
Unleashing the Rails Asset Pipeline
kennethkalmer
0
53
Reusing your frontend JS on the server with V8/Rhino
kennethkalmer
2
5.6k
Ruby - Behind the Scenes
kennethkalmer
0
25
Other Decks in Technology
See All in Technology
Claude Code に プロジェクト管理やらせたみた
unson
5
2.4k
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
230
Should Our Project Join the CNCF? (Japanese Recap)
whywaita
PRO
0
330
Tech-Verse 2025 Keynote
lycorptech_jp
PRO
0
1.8k
ゼロからはじめる採用広報
yutadayo
2
490
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
210
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
2
6.3k
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
180
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
160
Operating Operator
shhnjk
1
510
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
6.8k
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
230
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Cult of Friendly URLs
andyhume
79
6.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Designing for Performance
lara
610
69k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
BBQ
matthewcrist
89
9.7k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Docker and Python
trallard
44
3.5k
What's in a price? How to price your products and services
michaelherold
246
12k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.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