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
19
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
52
Getting more from your CI - Lightning Version
kennethkalmer
0
36
Broken Dreams and Shattered Promises
kennethkalmer
0
250
Why Ruby?
kennethkalmer
0
77
Unleashing the Rails Asset Pipeline
kennethkalmer
0
56
Reusing your frontend JS on the server with V8/Rhino
kennethkalmer
2
5.6k
Ruby - Behind the Scenes
kennethkalmer
0
26
Other Decks in Technology
See All in Technology
M5製品で作るポン置きセルラー対応カメラ
sayacom
0
170
AIツールでどこまでデザインを忠実に実装できるのか
oikon48
6
3.1k
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
140
Large Vision Language Modelを用いた 文書画像データ化作業自動化の検証、運用 / shibuya_AI
sansan_randd
0
130
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
1
580
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
500
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
1
160
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
370
許しとアジャイル
jnuank
1
140
『バイトル』CTOが語る! AIネイティブ世代と切り拓くモノづくり組織
dip_tech
PRO
1
110
Uncle Bobの「プロフェッショナリズムへの期待」から学ぶプロの覚悟
nakasho
2
110
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
2
940
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Side Projects
sachag
455
43k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
Building an army of robots
kneath
306
46k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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