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
Laravel Job Queueで バッチ運用した話
Search
Takayuki
June 07, 2019
Programming
2
820
Laravel Job Queueで バッチ運用した話
Laravel Job Queueでバッチ運用した話
Takayuki
June 07, 2019
Tweet
Share
More Decks by Takayuki
See All by Takayuki
Laravel × Clean Architecture
bumptakayuki
0
350
エンジニアのキャリア論
bumptakayuki
0
200
地方カンファレンス主催のススメ
bumptakayuki
1
220
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
2
1.1k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
0
680
沖縄観光、名物を一挙紹介!
bumptakayuki
2
680
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
2.8k
flutterでイベントアプリを作ってみた
bumptakayuki
0
160
オフショア開発の辛みと学んだ事
bumptakayuki
0
400
Other Decks in Programming
See All in Programming
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
300
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
660
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
2.9k
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.3k
CSC305 Lecture 02
javiergs
PRO
1
260
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
2
130
ИИ-Агенты в каждый дом – Алексей Порядин, PythoNN
sobolevn
0
150
麻雀点数計算問題生成タスクから学ぶ Single Agentの限界と Agentic Workflowの底力
po3rin
5
2.1k
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
240
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osk2025-duckdb
takahashiikki
1
240
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
440
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
2
160
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Designing for humans not robots
tammielis
254
25k
KATA
mclloyd
32
15k
BBQ
matthewcrist
89
9.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
570
Navigating Team Friction
lara
189
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
A designer walks into a library…
pauljervisheath
209
24k
Transcript
Laravel Job QueueͰ όονӡ༻ͨ͠ Laravel Job QueueͰ όονӡ༻ͨ͠
3 όονӡ༻ͨ͠ Agenda 2 Job Queueͱ 1 ࣗݾհ
1 ࣗݾհ
4 ࣗݾհ ◆໊લ ླ ೭(Suzuki Takayuki) ◆ࣗݾհ ɾ1990ɺਆಸݝੜ·Εɻ ɾࣾձਓʹͳ͔ͬͯΒɺϓϩάϥϛϯάΛ࢝ΊΔɻ ɾ2015ʹϑϧεϐʔυʹೖࣾ͠ɺ2017ʹϑϦʔϥ
ϯεΛͬͨޙʹ201711݄ʹԭೄͰىۀɻ ◆झຯ ίεϓϨɺԻָϥΠϒɺϚϥιϯେձʹग़Δɺٿ؍ ઓ ◆Twitter @kanbo0605
Copyright Re:Build.inc All Rights Reserved. 1.ձࣾհ ◆ձ໊ࣾ גࣜձࣾRe:Build ◆ॅॴ ԭೄݝԭೄࢢதԝ̍ஸ̍̒−̕
◆ࣄۀ༰ ɾࣗࣾWEBαʔϏεͷاըɾ։ൃɻ ɾडୗ։ൃ ◆ࣾһ 5໊ ◆ΤϯδχΞͷಇ͖ํ ϦϞʔτϫʔΫՄೳͳࣗ༝ͳಇ͖ํΛਪͯ͠·͢ʂ
6 ࣗࣾWebαʔϏεͷ։ൃ ɾαʔϏε໊ Tadoru ɾγεςϜ֓ཁ Ϋϥυιʔγϯά ΫϨδοτܾࡁ ͳͲ ɾ͍ͬͯΔٕज़ ݴޠ
: PHP,JavaScript ϑϨʔϜϫʔΫ: laravel5,Nuxt.jsͳͲ
2 Job Queueͱ
8 2 Job Queueͱ δϣϒΩϡʔͱδϣϒΛΩϡʔͰཧ͢ ΔͷͰ͢ɻ ΩϡʔͱFIFO(First In First Out)Λ࣮ݱ
͢ΔσʔλߏͰ͢ɻ Ωϡʔʹొ͞ΕͨϞϊɺΩϡʔʹొ ͨ͠ॱʹॲཧ͞Ε·͢ɻ http://tech.voyagegroup.com/archives/495474.html
9
1 0
11
3 όονӡ༻ͨ͠
1 3 γεςϜͷػೳཁ݅ ɾຖɺεΫϨΠϐϯάॲཧΛ࣮ߦ ɾεΫϨΠϐϯάͨ݁͠ՌΛGoogleεϓϨουγʔτʹॻ͖ࠐΉ ɾେྔͷॲཧ͕ΔͷͰɺPHPϝϞϦΤϥʔʹͳΔՄೳੑ͕ߴ͍ ɾεϓϨουγʔτͷ݁ՌΛຖɺόοΫΞοϓ͢Δ ɾεϓϨουγʔτͷ݁ՌΛຖɺϝʔϧͰૹΔ
1 4 શମߏ εΫϨΠϐϯά αʔόαΠυ LaravelͷίϚϯ υΛ࣮ߦ औಘͨ͠σʔλΛ εϓϨουγʔτʹอଘ HTML
DOM Perser αΠτ εϓϨουγʔτ
cronͰຖே9࣌ʹ όον࣮ߦ Google ϫʔΧʔͰॱ࣮࣍ߦ εΫϨΠϐϯά ॲཧ GASͷAPIΛ࣮ߦ εΫϨΠϐϯά ͨ͠ใΛGASͷ ύϥϝʔλʹ֨ೲ
Job εΫϨΠϐϯά ॲཧ GASͷAPIΛ࣮ߦ εΫϨΠϐϯά ͨ͠ใΛGASͷ ύϥϝʔλʹ֨ೲ Job Queue εΫϨΠϐϯά ॲཧ GASͷAPIΛ࣮ߦ εΫϨΠϐϯά ͨ͠ใΛGASͷ ύϥϝʔλʹ֨ೲ Job ϫʔΧʔ ࣮ߦ݁Ռͷ εςʔλε Λฦ٫ GASͷAPI Λ࣮ߦ εϓϨου γʔτॻ͖ ग़͠ Supervisor ϫʔΧʔ͕ࢮΜͩΒ ্ཱͪ͛͢ શମߏ δϣϒΛ3ͭ࡞͠ ͨ߹
1 6 ࣮ͨ͠༰ ᶃεέδϡʔϥͷઃఆ ᶄόονίϚϯυΫϥεͷ࡞ ᶅδϣϒΩϡʔͷΈΛ࣮ ᶆGASͰεϓϨουγʔτॻ͖ࠐΈͷॲཧΛ࣮ ᶇsupervisorͷઃఆ
1 7 ᶃεέδϡʔϥͷઃఆ Kernel.phpʹே9࣌ͰόονΛಈ ͘Α͏ʹઃఆ
1 8 ᶄόονίϚϯυΫϥεͷ࡞ ίϚϯυͰͷॲཧ ɾຊͷδϣϒΩϡʔΛ٧ΊΔ ɾલͷδϣϒͷ࣮ߦ݁ՌΛϝʔ ϧͰૹΔ
1 9 ᶅδϣϒΩϡʔͷΈΛ࣮
2 0 ᶆGASͰεϓϨουγʔτॻ͖ࠐΈͷॲཧΛ࣮ PHP͔ΒύϥϝʔλΛऔಘ
2 1 ᶆGASͰεϓϨουγʔτॻ͖ࠐΈͷॲཧΛ࣮ ExcelϑΝΠϧΛ࡞ͯ͠ɺϝʔϧૹ৴
2 2 ᶆGASͰεϓϨουγʔτॻ͖ࠐΈͷॲཧΛ࣮ ExcelϑΝΠϧΛ࡞ͯ͠ɺGoogleυϥΠϒʹόοΫΞοϓ
2 3 ᶇsupervisorͷઃఆ
2 4 ࠂ 10/12 PHPΧϯϑΝϨϯεԭೄ։࠵͠·͢ʂ