×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
RRuubbyyによる バッチ業務の ストリーム処理化の 設計と実装
Slide 2
Slide 2 text
みなさん
Slide 3
Slide 3 text
業 務
Slide 4
Slide 4 text
l ぎょう‐む 〔ゲフ‐〕 【業務】 1 職業や事業などに関して、継続して行う仕事。 2 法律で、社会生活において反復・継続して行う活動の こと。職業上の活動に限らず、娯楽のための個人的な行 為も含まれるが、家事や育児など家庭生活上の活動は含 まれない。→業務上過失 デジタル大辞泉(小学館) hhttttpp::////kkoottoobbaannkk..jjpp//wwoorrdd//業務
Slide 5
Slide 5 text
オンライン処理 バッチ処理
Slide 6
Slide 6 text
hhttttppでリクエスト ccrroonnで定時実行
Slide 7
Slide 7 text
**//55 ** ** ** ** rruubbyy bbaattcchh..rrbb
Slide 8
Slide 8 text
IUUQTHJUIVCDPNCBTI$UXFFGGZCMPCNBTUFSBQQNPEFMTQPTU@TFSWJDFSC
Slide 9
Slide 9 text
最高の進捗 最高の成果
Slide 10
Slide 10 text
業務ルール変更 出力先の追加 時宜を得た通知
Slide 11
Slide 11 text
いい感じにかい ていこうよ!
Slide 12
Slide 12 text
でもどうやった らいいだろう?
Slide 13
Slide 13 text
IUUQXXXqJDLSDPNQIPUPTFOOVJSJOTFUCZODTB IUUQNBHB[JOFSVCZJTUOFU 5PLZP3VCZ,BJHJ3FQPSU@TU “古きよき時代から来ました 真面目なSSEE 真面目にSSEE” こしば としあき @@bbaasshh00CC77 ピクシブ株式会社 エンジニア 広告配信技術係,,ppiixxiivv開発統括係 いくつかのRRuubbyy関連催事運営 レイヤーさん
Slide 14
Slide 14 text
結論
Slide 15
Slide 15 text
IUUQqVFOUEPSH
Slide 16
Slide 16 text
アクセスログ収集 行動ログ収集
Slide 17
Slide 17 text
l FFlluueennttdd iiss aann ooppeenn ssoouurrccee ddaattaa ccoolllleeccttoorr ddeessiiggnneedd ffoorr pprroocceessssiinngg hhiigghh--vvoolluummee ddaattaa ssttrreeaammss.. IUUQqVFOUEPSH
Slide 18
Slide 18 text
具体例
Slide 19
Slide 19 text
開発状況のリアルタ イム通知システム
Slide 20
Slide 20 text
-- IIssssuueeの更新 -- mmaasstteerrへのppuusshh -- プルリの立ち上がり を複数の手段で通知
Slide 21
Slide 21 text
IUUQ JTTVFߋ৽ JEPCBUB௨ .3ߋ৽ JEPCBUB௨ HJUQVTI JEPCBUB௨ HJUQVTI ճूܭ (SPXUI'PSFD BTUඳը Πϕϯτछ ผఆ "NB[PO424 ΤϯΩϡʔ HJUQVTI J1IPOF௨ Ϛείοτ ௨ "NB[PO424 σΩϡʔ ผͷ 'MVFOUE
Slide 22
Slide 22 text
JEPCBUBJP グループチャットに流す
Slide 23
Slide 23 text
デスクトップマスコット通知
Slide 24
Slide 24 text
TPVSDF UZQFIUUQ QPSU CJOE CPEZ@TJ[F@MJNJUN LFFQBMJWF@UJNFPVUT TPVSDF NBUDIHJUMBC UZQFDPQZ TUPSF UZQFSFXSJUF BEE@QSFGJYGJMUFSFE SVMF LFZPCKFDU@LJOE QBUUFSO? BQQFOE@UP@UBHUSVF MBTUUSVF SVMF SVMF LFZSFG QBUUFSO?SFGTaIFBETa BQQFOE@UP@UBHUSVF SVMF TUPSF NBUDI NBUDIGJMUFSFEHJUMBCNFSHF@SFRVFTU UZQFDPQZ TUPSF UZQFJEPCBUB XFCIPPL@VSMIUUQTJEPCBUBJPXFC@IPPL@VSM NFTTBHF@UFNQMBUF<':*>5JNFOFX SFDPSE<PCKFDU@BUUSJCVUFT> <DSFBUFE@BU> TUSGUJNF NEQ ͔ΒͷʠSFDPSE<PCKFDU@BUUSJCVUFT><UJUMF>ʠͷ݅ʹ ಈ͖͕͋ΔͶ TUPSF NBUDI NBUDIGJMUFSFEHJUMBCJTTVF UZQFDPQZ TUPSF UZQFJEPCBUB XFCIPPL@VSMIUUQTJEPCBUBJPXFC@IPPL@VSM NFTTBHF@UFNQMBUF<':*>5JNFOFX SFDPSE<PCKFDU@BUUSJCVUFT> <DSFBUFE@BU> TUSGUJNF NEQ ͔ΒͷʠSFDPSE<PCKFDU@BUUSJCVUFT><UJUMF>ʡͷ݅ʹ ಈ͖͕͋ΔͶ TUPSF NBUDI NBUDIGJMUFSFEHJUMBCNBTUFS UZQFDPQZ TUPSF UZQFSFXSJUF BEE@QSFGJYSFXSJUFE TUPSF TUPSF UZQFJEPCBUB XFCIPPL@VSMIUUQTJEPCBUBJPXFC@IPPL@VSM NFTTBHF@UFNQMBUFʲϦϦʔεࠂʳSFDPSE<VTFS@OBNF>͞Μ͕ʠ SFDPSE<DPNNJUT>NBQ\]D]D<NFTTBHF>TMJDF ? ^KPJO ʡΛϦϦʔε͢ΔΑ TUPSF TUPSF UZQFDVSM DVSM@DPNNBOEDVSM VSM@UFNQMBUFIUUQJNLBZBDDPNBQJ@VSM PQUJPOT@UFNQMBUFEBUBVSMFODPEFNFTTBHFʲϦϦʔεࠂʳSFDPSE<VTFS@OBNF>͞Μ TUPSF TUPSF UZQFTRT RVFVF@OBNFNBLBJ[PI TRT@FOEQPJOUTRTBQOPSUIFBTUBNB[POBXTDPN TUPSF NBUDI NBUDIGJMUFSFEHJUMBC UZQFOVMM NBUDI TPVSDF UZQFFYFD DPNNBOEFDIP LFZTVTFS@JE UBHSFXSJUFEGJMUFSFEHJUMBCNBLBJ[PINBTUFS SVO@JOUFSWBMT TPVSDF TPVSDF UZQFFYFD DPNNBOEFDIP LFZTVTFS@JE UBHSFXSJUFEGJMUFSFEHJUMBCMJHIUBETNBTUFS SVO@JOUFSWBMT TPVSDF TPVSDF UZQFFYFD DPNNBOEFDIP LFZTVTFS@JE UBHSFXSJUFEGJMUFSFEHJUMBCMJHIUBETBOBMZTZTNBTUFS SVO@JOUFSWBMT TPVSDF TPVSDF UZQFFYFD DPNNBOEFDIP LFZTVTFS@JE UBHSFXSJUFEGJMUFSFEHJUMBCQJYJWNBTUFS SVO@JOUFSWBMT TPVSDF TPVSDF UZQFFYFD DPNNBOEFDIP LFZTVTFS@JE UBHSFXSJUFEGJMUFSFEHJUMBCEJDQJYJWOFUNBTUFS SVO@JOUFSWBMT TPVSDF NBUDISFXSJUFEGJMUFSFEHJUMBCNBTUFS UZQFDPQZ TUPSF UZQFOVNFSJD@NPOJUPS VOJUNJOVUF PVUQVU@QFS@UBHZFT UBH@QSFGJYDPVOUFE BHHSFHBUFUBH NPOJUPS@LFZVTFS@JE TUPSF NBUDI NBUDIDPVOUFESFXSJUFEGJMUFSFEHJUMBCNBTUFS UZQFDPQZ TUPSF UZQFHSPXUIGPSFDBTU HGBQJ@VSMIUUQBQJ TFSWJDFHJUMBC UBH@GPSTFDUJPO OBNF@LFZTNBY SFNPWF@QSFGJYDPVOUFESFXSJUFEGJMUFSFEHJUMBC TUPSF NBUDI TPVSDF UZQFTRT TRT@FOEQPJOUTRTBQOPSUIFBTUBNB[POBXTDPN SFDFJWF@JOUFSWBM UBHNBLBJ[PITRT TPVSDF NBUDICBTI$@NBLBJ[PI UZQFDPQZ TUPSF UZQFTTUQ TTUQ@TFSWFS TTUQ@QPSU SFRVFTU@NFUIPE/05*': SFRVFTU@WFSTJPO4451 TFOEFSΫϥυి TDSJQU@UFNQMBUFa͋͋οɺ৽͍͠ϦϦʔεͬͯి͕ඈΜͰ͖ͨχϟϯaF TUPSF TUPSF UZQFTUEPVU TUPSF NBUDI hhttttppss::////ggiisstt..ggiitthhuubb..ccoomm//bbaasshh00CC77//6655ff88118899ff77eeee7700aaff99996611ff
Slide 25
Slide 25 text
ストリーム情報の 自動監視システム
Slide 26
Slide 26 text
-- 歌手自身が発信した画像 -- イラストレーション投稿 -- セルフポートレート投稿 の収集と自動通知
Slide 27
Slide 27 text
IUUQTUXJUUFSDPNZVGV@
Slide 28
Slide 28 text
5XJUUFS 4FBSDI 8FC͔Βը૾ औಘ ը૾ແ͠π Πʔτআڈ JEPCBUB௨ ϩʔΧϧϑ ΝΠϧอଘ UVNCMSߘ
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
TPVSDF UZQFUXJUUFSTFBSDI DPOTVNFS@LFZ999999999999999 DPOTVNFS@TFDSFU9999999999999999999 PBVUI@UPLFO99999999999999999999 PBVUI@UPLFO@TFDSFU9999999999999 VTFS@JEZVGV@ DPVOU SVO@JOUFSWBM SFTVMU@UZQFSFDFOU NFEJBZFT MBUFTU@JE@GJMF UXFFGGZ@ZVGV@@TJODF@JE@GJMFQPT UBHUXFFGGZZVGV TPVSDF NBUDIUXFFGGZ UZQFDPQZ TUPSF UZQFOVMM TUPSF TUPSF UZQFSFXSJUF BEE@QSFGJYGJMUFSFE SVMF LFZNFEJB@VSM QBUUFSO? JHOPSFUSVF SVMF TUPSF NBUDI NBUDIGJMUFSFEUXFFGGZ UZQFSFXSJUFJNBHF SFNPWF@UBH@QSFGJYGJMUFSFE BEE@UBH@QSFGJYSFXSJUFE JNBHF@TPVSDF@LFZNFEJB@VSM JNBHF@LFZSBX@NFEJB CBTFFODPEFGBMTF NBUDI NBUDISFXSJUFEUXFFGGZZVGV UZQFDPQZ TUPSF UZQFJEPCBUB XFCIPPL@VSMIUUQTJEPCBUBJPVSM NFTTBHF@UFNQMBUF SFDPSE<NFEJB@VSM>SFDPSE<OBNF> ʮSFDPSE<UFYU>ʯ SFDPSE<UXFFU@VSM> TUPSF TUPSF UZQFUVNCMS DPOTVNFS@LFZ99999999999999999 DPOTVNFS@TFDSFU9999999999999999999 PBVUI@UPLFO9999999999999999 PBVUI@UPLFO@TFDSFU9999999999999999 UVNCMS@VSMUVNCMSDPN UBHT@UFNQMBUF SFDPSE<TDSFFO@OBNF> DBQUJPO@UFNQMBUFSFDPSE<UFYU> SFDPSE<UXFFU@VSM> MJOL@LFZUXFFU@VSM JNBHF@LFZSBX@NFEJB CBTFFODPEFEGBMTF QPTU@UZQFQJDUVSF TUPSF TUPSF UZQFJNBHFGJMF TBWF@EJSJNBHF GJMFOBNF@LFZJE FYUFOTJPOKQH JNBHF@LFZSBX@NFEJB CBTFFODPEFEGBMTF TUPSF NBUDI hhttttppss::////ggiisstt..ggiitthhuubb..ccoomm//bbaasshh00CC77//ff3344ddccaa00660044dddd773366990033dd99
Slide 31
Slide 31 text
FFlluueennttddでの バッチ業務の 設計と実装
Slide 32
Slide 32 text
まず基本を 思い出そう
Slide 33
Slide 33 text
入�力 演算 出力と、 記述言語
Slide 34
Slide 34 text
これがそのまま
Slide 35
Slide 35 text
入�力プラグイン フィルタ系のプラグイン 出力プラグイン 設定ファイル
Slide 36
Slide 36 text
入�力 演算 出力と、 記述言語
Slide 37
Slide 37 text
ポーリング 待ち受け
Slide 38
Slide 38 text
hhttttpp ttaaiill ttwwiitttteerrsseeaarrcchh などなど
Slide 39
Slide 39 text
TPVSDF UZQFUXJUUFSTFBSDI DPOTVNFS@LFZ99999999 DPOTVNFS@TFDSFU99999999 PBVUI@UPLFO99999999 PBVUI@UPLFO@TFDSFU99999999 VTFS@JEZVGV@ DPVOU SVO@JOUFSWBM SFTVMU@UZQFSFDFOU NFEJBZFT MBUFTU@JE@pMFQBUIUPQPT@pMF UBHUXFFGGZZVGV@ TPVSDF
Slide 40
Slide 40 text
入�力 演算 出力と、 記述言語
Slide 41
Slide 41 text
データの整形 不要データの排除 などなど
Slide 42
Slide 42 text
NBUDIUXFFGGZ UZQFSFXSJUF BEE@QSFpYpMUFSFE SVMF LFZNFEJB@VSM QBUUFSO? JHOPSFUSVF SVMF NBUDI NBUDIpMUFSFEUXFFGGZ UZQFSFXSJUFJNBHF SFNPWF@QSFpYpMUFSFE BEE@QSFpYSFXSJUFE JNBHF@TPVSDF@LFZNFEJB@VSM JNBHF@LFZSBX@NFEJB CBTFFODPEFGBMTF NBUDI
Slide 43
Slide 43 text
入�力 演算 出力と、 記述言語
Slide 44
Slide 44 text
ttuummbbllrr iiddoobbaattaa ffiillee ss33 その他たくさん!!
Slide 45
Slide 45 text
NBUDISFXSJUFEUXFFGGZ UZQFDPQZ TUPSF UZQFJEPCBUB XFCIPPL@VSMIUUQJEPCBUBXFCIPPL NFTTBHF@UFNQMBUFʮSFDPSE<GPP>ʯ TUPSF TUPSF UZQFUVNCMS DPOTVNFS@LFZ999999 DPOTVNFS@TFDSFU999999 PBVUI@UPLFO999999 PBVUI@UPLFO@TFDSFU99999999 UBHT@UFNQMBUFSFDPSE<TDSFFO@OBNF> DBQUJPO@UFNQMBUFSFDPSE<CBS> MJOL@LFZUXFFU@VSM JNBHF@LFZSBX@NFEJB CBTFFODPEFEGBMTF QPTU@UZQFQJDUVSF TUPSF NBUDI
Slide 46
Slide 46 text
プラグインの 組み合わせ
Slide 47
Slide 47 text
単機能なしくみの 組み合わせ
Slide 48
Slide 48 text
TPVSDF UZQFUXJUUFSTFBSDI DPOTVNFS@LFZ999999999999999 DPOTVNFS@TFDSFU9999999999999999999 PBVUI@UPLFO99999999999999999999 PBVUI@UPLFO@TFDSFU9999999999999 VTFS@JEZVGV@ DPVOU SVO@JOUFSWBM SFTVMU@UZQFSFDFOU NFEJBZFT MBUFTU@JE@GJMF UXFFGGZ@ZVGV@@TJODF@JE@GJMFQPT UBHUXFFGGZZVGV TPVSDF NBUDIUXFFGGZ UZQFDPQZ TUPSF UZQFOVMM TUPSF TUPSF UZQFSFXSJUF BEE@QSFGJYGJMUFSFE SVMF LFZNFEJB@VSM QBUUFSO? JHOPSFUSVF SVMF TUPSF NBUDI NBUDIGJMUFSFEUXFFGGZ UZQFSFXSJUFJNBHF SFNPWF@UBH@QSFGJYGJMUFSFE BEE@UBH@QSFGJYSFXSJUFE JNBHF@TPVSDF@LFZNFEJB@VSM JNBHF@LFZSBX@NFEJB CBTFFODPEFGBMTF NBUDI NBUDISFXSJUFEUXFFGGZZVGV UZQFDPQZ TUPSF UZQFJEPCBUB XFCIPPL@VSMIUUQTJEPCBUBJPVSM NFTTBHF@UFNQMBUF SFDPSE<NFEJB@VSM>SFDPSE<OBNF> ʮSFDPSE<UFYU>ʯ SFDPSE<UXFFU@VSM> TUPSF TUPSF UZQFUVNCMS DPOTVNFS@LFZ99999999999999999 DPOTVNFS@TFDSFU9999999999999999999 PBVUI@UPLFO9999999999999999 PBVUI@UPLFO@TFDSFU9999999999999999 UVNCMS@VSMUVNCMSDPN UBHT@UFNQMBUF SFDPSE<TDSFFO@OBNF> DBQUJPO@UFNQMBUFSFDPSE<UFYU> SFDPSE<UXFFU@VSM> MJOL@LFZUXFFU@VSM JNBHF@LFZSBX@NFEJB CBTFFODPEFEGBMTF QPTU@UZQFQJDUVSF TUPSF TUPSF UZQFJNBHFGJMF TBWF@EJSJNBHF GJMFOBNF@LFZJE FYUFOTJPOKQH JNBHF@LFZSBX@NFEJB CBTFFODPEFEGBMTF TUPSF NBUDI 変更に強い 業務処理を実装
Slide 49
Slide 49 text
IUUQqVFOUEPSHQMVHJO
Slide 50
Slide 50 text
欲しいのがない?
Slide 51
Slide 51 text
IUUQEIBUFOBOFKQUBHPNPSJT
Slide 52
Slide 52 text
ggeemmをつくろう
Slide 53
Slide 53 text
スレッド内でフェッチ処理を 適当な間隔で動かすだけ IUUQTHJUIVCDPNCBTI$qVFOUQMVHJOSVCZ@FWBMCMPCNBTUFSMJCqVFOUQMVHJOJO@SVCZ@FWBMSC
Slide 54
Slide 54 text
お約束的実装と rreeccoorrddハッシュを いじるだけ IUUQTHJUIVCDPNCBTI$qVFOUQMVHJOSFXSJUFJNBHFCMPCNBTUFSMJCqVFOUQMVHJOPVU@SFXSJUFJNBHFSC
Slide 55
Slide 55 text
IUUQTHJUIVCDPNCBTI$qVFOUQMVHJOJNBHFpMFCMPCNBTUFSMJCqVFOUQMVHJOPVU@JNBHFpMFSC
Slide 56
Slide 56 text
IUUQEPDTqVFOUEPSHKBBSUJDMFTJO@FYFD
Slide 57
Slide 57 text
スケーリング対応 フェイルオーバー対応
Slide 58
Slide 58 text
ファイル経由 ネットワーク経由 複数FFlluueennttddを連動
Slide 59
Slide 59 text
まとめ
Slide 60
Slide 60 text
l ぎょう‐む 〔ゲフ‐〕 【業務】 1 職業や事業などに関して、継続して行う仕事。 2 法律で、社会生活において反復・継続して行う活動の こと。職業上の活動に限らず、娯楽のための個人的な行 為も含まれるが、家事や育児など家庭生活上の活動は含 まれない。→業務上過失 デジタル大辞泉(小学館) hhttttpp::////kkoottoobbaannkk..jjpp//wwoorrdd//業務
Slide 61
Slide 61 text
基本に忠実なしかも スケール可能バッチ 業務フレームワーク
Slide 62
Slide 62 text
IUUQqVFOUEPSH
Slide 63
Slide 63 text
FFlluueennttddとRRuubbyyで たのしく正しく 業務を遂行