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
AirflowからKuroko2に乗り換えたわけ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
hatappi
May 16, 2017
Technology
930
0
Share
AirflowからKuroko2に乗り換えたわけ
Tokyo Airflow Meetup #1
hatappi
May 16, 2017
More Decks by hatappi
See All by hatappi
AlloyDB 奮闘記
hatappi
0
410
Cloudflare を活用して変わったメルカリの開発体験 / How Cloudflare Changed Mercari's Development Experience
hatappi
1
840
RubyではじめるGraphQL
hatappi
0
940
RubyでChainerつくってます!!
hatappi
2
1.5k
TDDな個人開発
hatappi
0
370
できるだけ楽して楽しくRails開発しよう
hatappi
2
370
EKSにRailsをのせた
hatappi
1
1.3k
RubyとApache Arrow
hatappi
0
2.6k
Red Chainerを なぜ作って今後どうするのか
hatappi
2
2.5k
Other Decks in Technology
See All in Technology
運用を見据えたAIエージェント設計実践
amacbee
0
1.5k
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
410
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
640
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.8k
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
590
Sony_KMP_Journey_KotlinConf2026
sony
2
200
GoとSIMDとWasmの今。
askua
3
460
関西に縁あるMicrosoft MVPsが語るCopilotの未来
kasada
0
970
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
290
Strands Agents超入門
kintotechdev
1
150
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
15
8.2k
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
0
180
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
190
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
150
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
810
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
390
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
240
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
200
Transcript
Airflow͔ΒKuroko2 ʹΓ͑ͨΘ͚ by hatappi @Tokyo Airflow Meetup #1 1
࣍ • ࣗݾհ • AirflowͷಋೖܦҢ • AirflowΛӡ༻ͯ͠Έͯ • Kuroko2Λͳ͍ͥ͡Ίͨͷ͔ •
·ͱΊ 2
࣍ • ࣗݾհ • AirflowͷಋೖܦҢ • AirflowΛӡ༻ͯ͠Έͯ • Kuroko2Λͳ͍ͥ͡Ίͨͷ͔ •
·ͱΊ 3
ࣗݾհ • ໊લ: ാத༔࡞ • ID: hatappi • ձࣾ: גࣜձࣾSpeee
• ͍ͬͯΔ͜ͱ • UZOU • Angular + RailsͰ࡞͢Δސ٬ཧγεςϜ 4
࣍ • ࣗݾհ • AirflowͷಋೖܦҢ • AirflowΛӡ༻ͯ͠Έͯ • Kuroko2Λͳ͍ͥ͡Ίͨͷ͔ •
·ͱΊ 5
AirflowΛ͍ΕΔલ 6 ఆظతʹόονΛ࣮ߦ͍ͨ͠ cronΛ͑Ͱ͖ΔͶ
cronӡ༻Ͱى͖ͨ͜ͱ • ͳ͔ͥࢦఆͨ࣌ؒ͠ʹىಈ͠ͳ͍ • ࣮ߦݖݶʁ࣌ؒʁcrondىಈͯ͠Δ? • ࣮ߦϑΝΠϧͰϩάग़ͯ͠ͳ͍͔ΒԿ͕ى͖͔ͨݪ Ҽ͕͔Βͳ͍ 7
Γ͍ͨ͜ͱΛཧ 8 ఆظ࣮ߦ λεΫͷؔ࿈ੑ ࣮ߦঢ়ଶͷ֬ೝ EngҎ֎ͰϦτϥΠ
9 Airflowͷ࠾༻
Airflowͱ? • ϫʔΫϑϩʔϚωδϝϯτγεςϜ • OpenAir 2015ͰAirbnb͕ࣾࣗࣾͰ։ൃ͍ͯͨ͠ ͷΛΦʔϓϯιʔεԽͱൃද • ݱࡏApache IncubatorͷΦʔϓϯιʔεϓϩ
δΣΫτ 10
11 DAG TASK
Airflowͷ࠾༻ • ৄ͘͠ϒϩά • http://tech.speee.jp/entry/2016/07/07/050000 12
13 ॻ͍ͯͳ͍
࣍ • ࣗݾհ • AirflowͷಋೖܦҢ • AirflowΛӡ༻ͯ͠Έͯ • Kuroko2Λͳ͍ͥ͡Ίͨͷ͔ •
·ͱΊ 14
ྑ͔ͬͨ͜ͱ • λεΫͷґଘ͕ؔՄࢹԽ͞Εɺ࣮ߦ͞Ε͍ͯΔ࣌ Ͳ͜·ͰऴΘ͍ͬͯΔͷ͔͔Δ 15
ྑ͔ͬͨ͜ͱ • ϩάඪ४ग़ྗ, ඪ४Τϥʔग़ྗΛग़ྗͯ͘͠ΕΔ ͷͰԿ͔ஔ͖ͨͱ͖ʹσόοά͘͢͠ͳͬͨ 16
ྑ͔ͬͨ͜ͱ • ϓϩάϥϜΛमਖ਼Λඞཁͱ͠ͳ͍ݶΓ࠶࣮ߦEng Ҏ֎Ͱग़དྷΔΑ͏ʹ 17
͓͖ͨ • ϩάΠϯػೳ • UTC • DAGͷฤू • DAGϑΝΠϧͷංେԽ 18
ϩάΠϯػೳ • σϑΥϧτͰFalseͳͷͰઃఆ͕ඞཁ • http://qiita.com/hatappi/items/ 1b8a3a2d1f4b01c844ef 19
UTC • ͜Ε͍࣮ͭߦ͞ΕΔͰ͠ΐ͏͔ 20
21 Airflow͕ಈ͍͍ͯΔϚγ ϯͷλΠϜκʔϯʹΑΔ
Ϛγϯ͕JSTͷ࣌ • JSTͰ10:00ʹ࣮ߦ͞ΕΔͷͰը໘্ͷUTCදهͰ 1:00ʹ࣮ߦ͞ΕΔ • ը໘ͰݟΔ࣌ຖճ+9࣌ؒ͠ͳ͍ͱ͍͚ͳ͍͆ 22
ແ༻ͷUTC • UTCʹͳΔΑ͏ʹϋʔυίʔσΟϯά͞Ε͍ͯΔ • ৄ͘͠ • http://qiita.com/hatappi/items/2a4d41ca14746a3c98a6 23
DAGͷฤू • ৽نՃɺฤूίϚϯυϥΠϯ্͔Βߦ͏ • ੲຊޠίϝϯτ͕ग़དྷͳ͔ͬͨΑ͏͕ͩv1.8.0 Ͱ֬ೝͨ͠ͱ͜Ζग़དྷͨ 24
DAGϑΝΠϧͷංେԽ • PythonͰఆٛ͢ΔͷͰAPI௨৴ͰԿͰग़དྷΔ • ϩδοΫλεΫεΫϦϓτʹఆٛͯ͠DAGʹ λεΫͷґଘؔεέδϡʔϧʹઐ೦ͤ͞Δ ͖ͩͬͨ 25
࣍ • ࣗݾհ • AirflowͷಋೖܦҢ • AirflowΛӡ༻ͯ͠Έͯ • Kuroko2Λͳ͍ͥ͡Ίͨͷ͔ •
·ͱΊ 26
Kuroko2ͱ • cookpadͷδϣϒཧπʔϧ • RailsʹͷͤΔܗͰ༻͢Δ • ϩάΠϯGoogleOAuthೝূ͕͍͍ͭͯΔ • ࣌ࠁRailsͷઃఆ͕ө͞ΕΔ •
ϒϥβ্͔Β৽نՃɺฤू͕ग़དྷΔ 27
ॻ͖׳ΕͨݴޠͰ͋Δ͜ͱ • ࣾͷϝΠϯݴޠ͕RubyͳͷͰ৽͍͠ํ͕ೖͬͯ ཧղ͍͢͠ • ίʔυRubyͰ͔͔Ε͍ͯΔͷͰίʔυಡΊΔ ͠ͳ͓ͤΔ • ΄͍͠ػೳ͕͋ΕࣗͰ։ൃग़དྷΔ •
https://github.com/hatappi/kuroko2_read_only 28
࣍ • ࣗݾհ • AirflowͷಋೖܦҢ • AirflowΛӡ༻ͯ͠Έͯ • Kuroko2Λͳ͍ͥ͡Ίͨͷ͔ •
·ͱΊ 29
·ͱΊ • AirflowͰKuroko2Ͱࣗͷతʹ͋ͬͨͷ Λ༻͢Δͱྑͦ͞͏Ͱ͢ • OSSͳͷͰԿ͔͋Εcommit͘Β͍ͷؾ࣋ͪ • DAGઈରʹංେԽͤ͞ͳ͍ʂ 30
31 ͓ΘΓ