Laravel Job Queueで バッチ運用した話

Laravel Job Queueで バッチ運用した話

Laravel Job Queueでバッチ運用した話

02886e95c50822b9aa2552da1e518491?s=128

Takayuki

June 07, 2019
Tweet

Transcript

  1. Laravel Job QueueͰ όονӡ༻ͨ͠࿩ Laravel Job QueueͰ όονӡ༻ͨ͠࿩

  2. 3 όονӡ༻ͨ͠࿩ Agenda 2 Job Queueͱ͸ 1 ࣗݾ঺հ

  3. 1 ࣗݾ঺հ

  4. 4 ࣗݾ঺հ ◆໊લ ླ໦ ޹೭(Suzuki Takayuki) ◆ࣗݾ঺հ ɾ1990೥ɺਆಸ઒ݝੜ·Εɻ ɾࣾձਓʹͳ͔ͬͯΒɺϓϩάϥϛϯάΛ࢝ΊΔɻ ɾ2015೥ʹϑϧεϐʔυʹೖࣾ͠ɺ2017೥ʹϑϦʔϥ

    ϯεΛ΍ͬͨޙʹ2017೥11݄ʹԭೄͰىۀɻ ◆झຯ ίεϓϨɺԻָϥΠϒɺϚϥιϯେձʹग़Δɺ໺ٿ؍ ઓ ◆Twitter @kanbo0605
  5. Copyright Re:Build.inc All Rights Reserved. 1.ձࣾ঺հ ◆ձ໊ࣾ גࣜձࣾRe:Build ◆ॅॴ ԭೄݝԭೄࢢதԝ̍ஸ໨̍̒−̕

    ◆ࣄۀ಺༰ ɾࣗࣾWEBαʔϏεͷاըɾ։ൃɻ ɾडୗ։ൃ ◆ࣾһ 5໊ ◆ΤϯδχΞͷಇ͖ํ ϦϞʔτϫʔΫՄೳͳࣗ༝ͳಇ͖ํΛਪ঑ͯ͠·͢ʂ
  6. 6 ࣗࣾWebαʔϏεͷ։ൃ ɾαʔϏε໊ Tadoru ɾγεςϜ֓ཁ Ϋϥ΢υιʔγϯά ΫϨδοτܾࡁ ͳͲ ɾ࢖͍ͬͯΔٕज़ ݴޠ

    : PHP,JavaScript ϑϨʔϜϫʔΫ: laravel5,Nuxt.jsͳͲ
  7. 2 Job Queueͱ͸

  8. 8 2 Job Queueͱ͸ δϣϒΩϡʔͱ͸δϣϒΛΩϡʔͰ؅ཧ͢ Δ΋ͷͰ͢ɻ Ωϡʔͱ͸FIFO(First In First Out)Λ࣮ݱ

    ͢Δσʔλߏ଄Ͱ͢ɻ Ωϡʔʹొ࿥͞ΕͨϞϊ͸ɺΩϡʔʹొ ࿥ͨ͠ॱʹॲཧ͞Ε·͢ɻ http://tech.voyagegroup.com/archives/495474.html
  9. 9

  10. 1 0

  11. 11

  12. 3 όονӡ༻ͨ͠࿩

  13. 1 3 γεςϜͷػೳཁ݅ ɾຖ೔ɺεΫϨΠϐϯάॲཧΛ࣮ߦ ɾεΫϨΠϐϯάͨ݁͠ՌΛGoogleεϓϨουγʔτʹॻ͖ࠐΉ ɾେྔͷॲཧ͕૸ΔͷͰɺPHPϝϞϦΤϥʔʹͳΔՄೳੑ͕ߴ͍ ɾεϓϨουγʔτͷ݁ՌΛຖ೔ɺόοΫΞοϓ͢Δ ɾεϓϨουγʔτͷ݁ՌΛຖ೔ɺϝʔϧͰૹΔ

  14. 1 4 શମߏ੒ εΫϨΠϐϯά αʔόαΠυ LaravelͷίϚϯ υΛ࣮ߦ औಘͨ͠σʔλΛ εϓϨουγʔτʹอଘ HTML

    DOM Perser ๭αΠτ εϓϨουγʔτ
  15. cronͰຖே9࣌ʹ όον࣮ߦ Google ϫʔΧʔͰॱ࣮࣍ߦ εΫϨΠϐϯά ॲཧ GASͷAPIΛ࣮ߦ εΫϨΠϐϯά ͨ͠৘ใΛGASͷ ύϥϝʔλʹ֨ೲ

    Job εΫϨΠϐϯά ॲཧ GASͷAPIΛ࣮ߦ εΫϨΠϐϯά ͨ͠৘ใΛGASͷ ύϥϝʔλʹ֨ೲ Job Queue εΫϨΠϐϯά ॲཧ GASͷAPIΛ࣮ߦ εΫϨΠϐϯά ͨ͠৘ใΛGASͷ ύϥϝʔλʹ֨ೲ Job ϫʔΧʔ ࣮ߦ݁Ռͷ εςʔλε Λฦ٫ GASͷAPI Λ࣮ߦ εϓϨου γʔτॻ͖ ग़͠ Supervisor ϫʔΧʔ͕ࢮΜͩΒ ্ཱͪ͛௚͢ શମߏ੒ δϣϒΛ3ͭ࡞੒͠ ͨ৔߹
  16. 1 6 ࣮૷ͨ͠಺༰ ᶃεέδϡʔϥͷઃఆ ᶄόονίϚϯυΫϥεͷ࡞੒ ᶅδϣϒΩϡʔͷ࢓૊ΈΛ࣮૷ ᶆGASͰεϓϨουγʔτॻ͖ࠐΈͷॲཧΛ࣮૷ ᶇsupervisorͷઃఆ

  17. 1 7 ᶃεέδϡʔϥͷઃఆ Kernel.phpʹே9࣌ͰόονΛಈ ͘Α͏ʹઃఆ

  18. 1 8 ᶄόονίϚϯυΫϥεͷ࡞੒ ίϚϯυͰͷॲཧ ɾຊ೔෼ͷδϣϒΩϡʔΛ٧ΊΔ ɾલ೔෼ͷδϣϒͷ࣮ߦ݁ՌΛϝʔ ϧͰૹΔ

  19. 1 9 ᶅδϣϒΩϡʔͷ࢓૊ΈΛ࣮૷

  20. 2 0 ᶆGASͰεϓϨουγʔτॻ͖ࠐΈͷॲཧΛ࣮૷ PHP͔ΒύϥϝʔλΛऔಘ

  21. 2 1 ᶆGASͰεϓϨουγʔτॻ͖ࠐΈͷॲཧΛ࣮૷ ExcelϑΝΠϧΛ࡞੒ͯ͠ɺϝʔϧૹ৴

  22. 2 2 ᶆGASͰεϓϨουγʔτॻ͖ࠐΈͷॲཧΛ࣮૷ ExcelϑΝΠϧΛ࡞੒ͯ͠ɺGoogleυϥΠϒʹόοΫΞοϓ

  23. 2 3 ᶇsupervisorͷઃఆ

  24. 2 4 ࠂ஌ 10/12 PHPΧϯϑΝϨϯεԭೄ։࠵͠·͢ʂ