$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
独自Worker管理が辛い
Search
HaiTo
September 26, 2015
Programming
0
190
独自Worker管理が辛い
独自Worker管理が辛かったから代替案を提示してみた話
HaiTo
September 26, 2015
Tweet
Share
More Decks by HaiTo
See All by HaiTo
Form Object へ捧げる気持ち
haito
0
1.7k
管理画面再考
haito
0
250
ゾンビを倒してRuby.2.2に上げた話
haito
0
110
色々なレビューの話
haito
0
160
おしゃれっぽくターミナルでストリーミング再生をしたかった話
haito
0
130
dendai_lt_1011
haito
0
61
Other Decks in Programming
See All in Programming
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.3k
エディターってAIで操作できるんだぜ
kis9a
0
710
Cap'n Webについて
yusukebe
0
130
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
200
開発に寄りそう自動テストの実現
goyoki
1
780
生成AIを利用するだけでなく、投資できる組織へ
pospome
1
250
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
2.6k
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
260
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7k
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.2k
React Native New Architecture 移行実践報告
taminif
1
150
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
3k
Featured
See All Featured
The Language of Interfaces
destraynor
162
25k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Agile that works and the tools we love
rasmusluckow
331
21k
Designing for humans not robots
tammielis
254
26k
A designer walks into a library…
pauljervisheath
210
24k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Being A Developer After 40
akosma
91
590k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Unsuck your backbone
ammeep
671
58k
Transcript
RundeckͱDaemon-Rails HaiTo
࠷ۙ
SansanͰΤϯδχΞͯ͠Δ HaiToͰ͢
ͬͯษڧձͰൃදͩͨ͠͠ͷͰ ޙʹҾ͚ͳ͘ͳͬͨϚϯ ※TwitterͷγϞωλతͳҙຯͰ
͍͍ͩͨ͜Μͳײ͡
ࠓಈ͘σϞ͕͋Γ·͢ʂ
None
࠷ۙͷΈ • WorkerͱBatchΛཧͯ͠ΔγεςϜ͕ͳ͔ͳ͔͍͠ ߏʹͳͬͯΔ • Script͕͚ͬ͜͏ͳՕॴʹඞཁͩͬͨΓɺ͔ͦ͠ΕΛ PRग़ͯ͠Ϛʔδͯ͠Deployͯ͠…… • 1WorkerՃ͢Δͷʹ࠷3ՕॴʹPRΛग़͢ඞཁ͕͋ Δɻ(ରRepo,BatchExecutor,GeesManagement)
None
Կނͳͷ͔ • RailsͰʮWorkerϓϩηεʯΛཧ͢ΔϕετϓϥΫ ςΟεͷܽ(SidekiqʹJobಥͬࠐΊʔʂͱ͔͔ͬΓ) • ͜͜·ͰWorkerɺBatch͕૿͑Δ͜ͱΛఆ͍ͯ͠ͳ ͔ͬͨͷ͔ɺύϥϨϧʹBatch,WorkerΛىಈఀࢭ͢Δ͜ ͱͷग़དྷͳ͍Έ
ͰͲ͏͢ΕΑ͍͔ • ͪͬͱྑͦ͞͏ͳܗͰWorkerɺBatchͷىಈͱఀࢭ͕ ग़དྷΔ༷ʹͳΔͱྑͦ͞͏ɻ • ฒྻʹWorker,Batchͷىಈͱఀ(ry • WorkerΛՃͨ͠Β͋ͱWebView͔ΒWorker,Batch ͷى(ry
ඞཁͳϑΥʔε • ίϚϯυΛୟ͍ͨΒ͙͢ʹ্ཱ͕ͪΒͳͯ͘(͙͢ʹ ͞Εͳͯ͘)ɺͦͷࢮ׆͕ࢹͰ͖Δ(μʔΫαΠυ) • ผͷϓϩηε(εϨου)ʹअຐ͞ΕΔ͜ͱແ͘ɺίϚϯ υΛୟ͘͜ͱ͕ग़དྷΔ(ϥΠταΠυ)
ͳΜ͔͍͢͝Worker ͳΜ͔͍͢͝Worker ͳΜ͔͍͢͝Worker ͳΜ͔͍͢͝Worker kill kill kill kill ͋ͨ͠ΌࢮΜ͡·ͬͯ͞ ͋ͨ͠ΌࢮΜ͡·ͬͯ͞
͋ͨ͠ΌࢮΜ͡·ͬͯ͞ ͋ͨ͠Όࢮ
ͳΜ͔ͩߦ͚ͦ͏ͳؾ͕͢Δʙ
None
Rundeck • OSSͷδϣϒཧιϑτΣΞ • ϦονͳWebView͕͋Δɻ͋ͱJVMͰಈ͘ɻαΠίʔ͔ • ΘΓ͔͠Deployͱ͔ͷʮδϣϒϫʔΫϑϩʔʯཧΛߦ ͏ͨΊͷπʔϧͬΆ͍
ͳΜ͔ͩߦ͚ͦ͏ͳؾ͕͢Δʙ
None
daemon-rails
daemon-rails • lib/daemons/awesome_worker.rb • bundle exec rake daemon:awesome_worker:start • bundle
exec rake daemon:awesome_worker:stop • ͳΜ͔ͩߦ͚ͦ͏ͳؾ͕͢Δ(n)
Demo
None
None
՝ • ࠓͷWorkerͷ࣮Λશ෦࡞Γͳ͓͢ඞཁ͕͋Δ • ͑ͬ • :tori_e: • ͑ʁʁʁ
None
None
None