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
20
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
100
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
53
Getting more from your CI - Lightning Version
kennethkalmer
0
37
Broken Dreams and Shattered Promises
kennethkalmer
0
250
Why Ruby?
kennethkalmer
0
78
Unleashing the Rails Asset Pipeline
kennethkalmer
0
57
Reusing your frontend JS on the server with V8/Rhino
kennethkalmer
2
5.6k
Ruby - Behind the Scenes
kennethkalmer
0
28
Other Decks in Technology
See All in Technology
AWSの新機能をフル活用した「re:Inventエージェント」開発秘話
minorun365
2
480
[Neurogica] 採用ポジション/ Recruitment Position
neurogica
1
130
Bedrock AgentCore Memoryの新機能 (Episode) を試してみた / try Bedrock AgentCore Memory Episodic functionarity
hoshi7_n
2
2k
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
0
300
20251222_サンフランシスコサバイバル術
ponponmikankan
2
140
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
280
半年で、AIゼロ知識から AI中心開発組織の変革担当に至るまで
rfdnxbro
0
150
Knowledge Work の AI Backend
kworkdev
PRO
0
290
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
5
2.2k
MySQLのSpatial(GIS)機能をもっと充実させたい ~ MyNA望年会2025LT
sakaik
0
140
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
0
470
"人"が頑張るAI駆動開発
yokomachi
1
630
Featured
See All Featured
Building AI with AI
inesmontani
PRO
1
580
How to train your dragon (web standard)
notwaldorf
97
6.5k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
31
Raft: Consensus for Rubyists
vanstee
141
7.3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
0
100
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
94k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
32
Skip the Path - Find Your Career Trail
mkilby
0
27
How to Ace a Technical Interview
jacobian
281
24k
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