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 JobQue
Search
Takayuki
January 21, 2018
Technology
1
190
Laravel JobQue
Laravel JobQue
Takayuki
January 21, 2018
Tweet
Share
More Decks by Takayuki
See All by Takayuki
地方カンファレンス主催のススメ
bumptakayuki
1
93
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
1
290
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
0
360
沖縄観光、名物を一挙紹介!
bumptakayuki
2
380
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
930
flutterでイベントアプリを作ってみた
bumptakayuki
0
87
オフショア開発の辛みと学んだ事
bumptakayuki
0
300
ChatGPTにStripeのサンプルコードを書かせてみた
bumptakayuki
1
130
ChatGPTに記事を書かせてみた
bumptakayuki
1
200
Other Decks in Technology
See All in Technology
.NETの非同期戦略とUnityとの相互運用
neuecc
2
2.4k
技術イベントはなんとかひねり出す 日経の技術広報の取り組み/techpr3
nishiuma
0
220
Ask-LLM論文紹介: How to Train Data-Efficient LLMs
s_ota
0
110
Oracle Database で機械学習を始めよう! Oracle Machine Learning
oracle4engineer
PRO
1
140
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
24
6.9k
あらゆる商品を扱う商品データベースを再設計した話 / product db re-architecture
rince
8
3.6k
匠MethodとRDRAとICONIXとDDDで実現する一気通貫オブジェクト指向開発
haru860
4
2k
Getting started with controlling LEGO using Swift
hcrane
0
130
単回帰分析について数式を追いながら実装してみた
kentaitakura
0
500
今さら聞けない!? AWSの生成AIサービス Amazon Bedrock入門!
minorun365
PRO
11
2.2k
生成AIサービスPanorama AIご説明資料
sdt
0
300
Cloud Friendly(?) Jenkins. How we failed to make Jenkins cloud native and what we learned?
onenashev
PRO
0
110
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
How GitHub Uses GitHub to Build GitHub
holman
467
290k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
Gamification - CAS2011
davidbonilla
76
4.5k
Clear Off the Table
cherdarchuk
82
310k
Why Our Code Smells
bkeepers
PRO
330
56k
Building Effective Engineering Teams - LeadDev
addyosmani
25
1.8k
Bash Introduction
62gerente
604
210k
Into the Great Unknown - MozCon
thekraken
10
830
Product Roadmaps are Hard
iamctodd
43
9.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
19
1.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
Transcript
Laravel JobQue Laravel JobQue
1 JobQueͱ 2 Γ͍ͨ͜ͱɾղઆ Agenda 3 ࣮ԋ
1 JobQueͱ
4 1 JobQueͱ !δϣϒ : ԿΒ͔ͷॲཧ !Ωϡʔ : ઌೖΕઌग़͠ (FIFO)
ͷϦετ ߏΛ࣋ͭɺίϯϐϡʔλͷجຊతͳσʔ λߏͷҰͭ !ϫʔΧʔ : Ωϡʔʹొ͞Εͨδϣϒ Λஞ࣮࣍ߦ͍ͯ͘͠ͷ
5 Ωϡʔͱ !Ωϡʔʢӳ: queueʣɺ͋Δ͍ͪߦ ྻίϯϐϡʔλͷجຊతͳσʔλߏ ͷҰͭɻ !σʔλΛઌೖΕઌग़͠[1]ͷϦετߏ Ͱอ࣋͢ΔͷͰ͋Δɻ !Ωϡʔ͔ΒσʔλΛऔΓग़͢ͱ͖ʹ ɺઌʹೖΕΒΕͨσʔλ͔ΒॱʹऔΓ
ग़͞ΕΔɻΩϡʔʹσʔλΛೖΕΔ͜ͱ ΛΤϯΩϡʔ[2]ɺ !औΓग़͢͜ͱΛσΩϡʔ[3]ͱ͍͏ɻ
6 ͲΜͳ࣌ʹ͏ͷ͔ʁ ͨͱ͑ɺ Web ΞϓϦέʔγϣϯʹ͓͍ͯɺ Ϣʔβʔ͔ΒͷೖྗΛड͚͚ͨޙʹαʔόʔαΠυͰॏ ͍ॲཧΛ͢Δඞཁ͕͋ͬͯɺͦͷॲཧΛδϣϒͱͯ͠ Γग़ͯ͠Ωϡʔʹొ͢ΔΑ͏ʹ͢ΕɺΞϓϦέʔγϣ ϯͦͷॏ͍ॲཧΛඇಉظͰ࣮ߦͰ͖ɺॲཧ͕ྃ͢Δલ ʹϢʔβʔʹϨεϙϯεΛฦ͢͜ͱ͕Ͱ͖·͢ɻ
7 ͲΜͳ࣌ʹ͏ͷ͔ʁ
2 Γ͍ͨ͜ͱɾղઆ
9 Γ͍ͨ͜ͱ ɾؔऀʹେྔͷϝʔϧΛૹ৴͢ΔࡍʹϝϞ ϦϦʔΫͤ͞ͳ͍ɻ ɾϨεϙϯεͪঢ়ଶʹͤͣʹઌʹϨεϙϯε (εςʔλείʔυͳͲ)͚ͩฦ͢ɻ
1 0 ࠓճΔ͜ͱ !ΠϕϯτˍϦεφʔͰϝʔϧૹ৴Λ࣮ !ϦεφʔΛΩϡʔԽͯ͠ඇಉظͰϝʔϧΛૹ৴
11 ѱ͍ྫ ϝʔϧૹ৴ͯ͠ը໘͕ݻ·Δ ʘ(^o^)ʗΦϫλ
1 2 ΠϕϯτϦεφʔͱ !Ϣʔβʔొ࣌ୀձ࣌ͳͲಛఆͷΠϕϯτͷ࣌ʹൃՐ͍ͤͨ͞ ϝιουΛཧ͍ͨ࣌͠ΠϕϯτϦεφʔΛ͏ͱศརͰ͢ɻ !͍ΘΏΔΦϒβʔόʔύλʔϯͱݺΕΔίʔυͷ࣮ํ๏Ͱɺ JavaScriptͰDOMૢ࡞͢Δͱ͖ʹ͓ͳ͡Έͷํ๏Ͱ͢ɻ Ϙλϯ͕ΫϦοΫ͞ΕͨΒ"click"ͱ͍͏Πϕϯτ͕ൃՐͯ͠ɺͦͷ Πϕϯτ͕ൃՐͨ͠Βಛఆͷॲཧ͕ΔΑ͏ʹ͢Δͱ͍͏࣮ํ ๏Ͱ͢ɻ
1 3 ֤σΟϨΫτϦͷઆ໌ !app\Events Πϕϯτ໊ʹΫϥε໊ͱͨ͠ΫϥεΛஔ͘ʢݫີͳ໋໊نଇͳ͍Ͱ͢ʣ !app\Listeners Πϕϯτ͝ͱͷॲཧʢϦεφʔʣͱsubscribeϝιουͷ࣮ʢޙड़ʣ͠ ͨΫϥεΛஔ͘ !app\Providers ΠϕϯτߪಡͰ༻͢ΔϦεφʔΛొ͢ΔΫϥεΛஔ͘
!app\Controllers EventΛݺͼग़͢ίϯτϩʔϥʔ͓ΑͼϝιουΛ༻ҙ͓ͯ͘͠
1 4 ࣮खॱ EventServiceProviderʹΠϕϯτΛ هࡌ ϓϩδΣΫτ࡞͔࣌Β༻ҙ͞Ε͍ͯΔ EventServiceProvider.phpͷ$listen෦ʹ ࿈ྻͷܗࣜͰɺ Πϕϯτ(key) =>
Ϧεφʔ(value)ͷΑ͏ ʹهࡌͯ͠ΠϕϯτͱϦεφʔΛొ͢ Δɻ
1 5 ࣮खॱ
1 6 ࣮खॱ ΠϕϯτϑΝΠϧΛઃఆ !શһʹΒͤΔ ( App\Events\PublicAlertCreated )
1 7 ࣮खॱ ϦεφʔϑΝΠϧΛઃఆ !શһʹΒͤΔ ( App/Listeners/SendPublicAlert.php )
1 8 ࣮खॱ ίϯτϩʔϥͰΠϕϯτൃՐ !શһʹΒͤΔ ( App\Http\Controllers/HomeController.php )
1 9 ͜ͷॲཧͰͷ ొϢʔβશһͷϝʔϧͷૹ৴ॲཧˍ5000ճͷΫΤϦऔಘ͕ऴΘ͔ͬͯΒϨεϙϯε ͕ฦͬͯ͘ΔͷͰɺʮϝʔϧྃ ϝʔϧΛૹΓ·ͨ͠ʂʯͷද͕ࣔදࣔ͞ΕΔͷϘλ ϯΛԡ͔ͯ͠Β͠Β͘ܦ͔ͬͯΒʹͳΔɻ ຊ൪ͷΞϓϦέʔγϣϯͰೋॏߘΛࢭ͢ΔॲཧͳͲ͕ೖ͍ͬͯͯɺϨεϙϯε͕ ฦͬͯ͘Δ·ͰϢʔβʔ͕ϘλϯΛԡͤͳ͍͜ͱ͋ΔͩΖ͏ɻ ૹ৴ྃͷ͓Βͤද͕ࣔදࣔ͞ΕΔ͕࣌ؒɺૹ৴Ϣʔβʔʹґଘ͢Δͱ͍͏ͷϢʔ
βʔʹͱ͔ͬͯΓͮΒ͍ͨΊɺૹ৴Ͱ͖͍ͯͳ͍ͱצҧ͍ͯ͠࿈ͯ͠͠·͏ਓ͍ Δ͔͠Εͳ͍ɻ
2 0 ͦ͜ͰΩϡʔͷొ ͜ͷʮ͋ͱɺͦͬͪͰΑΖ͘͠ʯํࣜͷ͜ͱΛɺΩϡʔͱݺͿɻͪ ߦྻͱ͍͏ҙຯͩɻ ϢʔβʔࣗͷΘΓʹɺখਓͨͪΛྻʹฒͤͯখแΛ32ݸൃૹ͞ ͤΒΕΔɻ͜ͷখਓͷ͜ͱΛϫʔΫδϣϒͱݺͿɻ ΩϡʔΛ͏ʹɺখਓΛฒͤΔͨΊͷςʔϒϧ͕ඞཁͩɻ
2 1 Ωϡʔͷઃఆํ๏
2 2 Ωϡʔͷઃఆํ๏
2 3 Ωϡʔͷઃఆํ๏
2 4 Ωϡʔͷઃఆํ๏
2 5 Ωϡʔͷઃఆํ๏
2 6 ͪߦྻͰ͏·ͬͯ͘͘ΕͯΔ
2 7 ࢀߟจݙ !Laravel5.4ͰΠϕϯτˍΩϡʔΛͬͯϝʔϧΛΩϡʔૹ৴͢Δखॱ http://arm4.hatenablog.com/entry/2017/09/11/183610
2 8 githubʹιʔε্͛·ͨ͠ https://github.com/bumptakayuki/Mailable_Test_Laravel