修正版でございます
Laravel5ͰJob/Queue࣮ͨ͠גࣜձࣾRe:Build ͯͭ (Twitter: @kaoru6strings)20193݄4ʢਫʣLarval Meetup Okinawa #08https://laravel-meetup-okinawa.connpass.com/event/122396/
View Slide
ࣗݾհ• த େʢͯͭ͞Μ or ͯͬͪΌΜʣ• גࣜձࣾRe:BuildɿWebΤϯδχΞ• ϦϞʔτϫʔΫͯ͠·͢• Laravel + Vue.js, Ruby on rails@kaoru6strings
ຊJob/Queueͷ͓@kaoru6strings
ॏ͍ॲཧผϓϩηεͰಈ͔͢บΛ͚ͭͯLaravelྗΛΞοϓ͠Α͏ʂ@kaoru6strings
Job/Queueͷ͍ॴ• ϝʔϧૹ৴• Ϣʔβͷಋઢʹؔͷͳ͍ॏ͍ͨॲཧ• ฒྻ࣮ߦ͕ඞཁͳόονॲཧ@kaoru6strings
Ϣʔβʔ͕ϒϥβ͔ΒҙͷλΠϛϯάͰόονΛ࣮ߦ͢Δ߹ϢʔβͷಋઢͱͳΔϓϩηε@kaoru6stringsϫʔΧʔόονॲཧͷJobΛΩϡʔʹೖQueue+PC +PC+PC+PC+PC
ࣄલ४උ̍• app/Console/Kernel.phpͷscheduleʹԼهΛՃ• $schedule->command('queue:work --tries=1 --timeout=0’)->withoutOverlapping();@kaoru6strings
ࣄલ४උ̎• crontab -e ͰԼهΛՃ• * * * * * php /var/www/project_name/artisan schedule:run >> /dev/null 2>&1• php artisan make:job ProcessSomething Ͱੜͨ͠ app/jobs/ProcessSomething.phpʹॲཧΛՃ@kaoru6strings
ࣄલ४උ̏• LaravelϓϩδΣΫτͷ͓͖ͳॴʹԼهͷίϚϯυΛॻ͍ͯɺqueʹjobΛՃ• ProcessSomething::dispatch();@kaoru6strings
͔͜͜Β͕ϋϚͬͨϙΠϯτͷհ@kaoru6strings
ࣄҊ̍: Τϥʔϩά͕ग़ྗ͞Εͳ͍• /storage/logs/laravel.log ͷॻ͖ࠐΈݖݶΛnginxϢʔβͷΈ͕อ͍࣋ͯͨͨ͠ΊɺϫʔΧʔΛ࣮ߦ͍ͯ͠ΔϢʔβ͕ΤϥʔϩάΛॻ͖ࠐΊͣʹ͍ͨ• setfacl -Rdm u::rwx,g::rwx,o::rwx storage@kaoru6strings
ࣄҊ̎: ্ཱͪ͛ͨϫʔΧʔ͕ͩΜ·Γಥવࢮ͢Δ• Laravel, phpͷϩάʹԿग़ྗ͞Εͳ͍@kaoru6strings
্ཱͪ͛ͨϫʔΧʔ͕ͩΜ·Γಥવࢮ͢Δ• λΠϜΞτ͍ͯ͠Δͷ͕ݪҼͩͬͨΈ͍ͨ• ϫʔΧʔ্ཱͪ͛࣌ͷίϚϯυʹԼهΦϓγϣϯΛࢦఆͯ͠λΠϜΞτ͠ͳ͍Α͏ʹͨ͠• - -timeout=0@kaoru6stringshttps://stackoverflow.com/questions/25877752/laravel-queue-process-timeout-error
Tips@kaoru6strings
ϫʔΧʔ͕ਖ਼ৗʹ͕͍ͨͪ͋ͬͯΔ͔֬ೝ͍ͨ͠• ps -aef | fgrep php@kaoru6strings
ςετڥͰϫʔΧʔͷॲཧ͕ʂʂ• ·ͣਂݺٵ• ps -aef | fgrep php ͰϓϩηεidΛ֬ೝͨ͠Β3024൪ͩͬͨ• Kill -9 3024@kaoru6strings
Laravelͷ.envͰQUEUE_DRIVERΛઃఆ͢Δํ๏Ͱjobͷཧํ๏ΛมߋͰ͖Δ• QUEUE_DRIVER=sync• ςετ༻• QUEUE_DRIVER=database• Laravel͕ར༻͍ͯ͠ΔDBͰҰॹʹjobΛཧ• QUEUE_DRIVER=redis• RedisͰjobΛཧ@kaoru6strings
վળɾٙ• ࠓճKernelʹίϚϯυΛՃͯ͠ϫʔΧʔΛىಈͤ͞Δํ๏Λͱ͕ͬͨɺຊSupervisorΛઃఆͨ͠΄͏͕͍͍Β͍͠• Laravel forge(https://forge.laravel.com/)ΛͬͨΒઃఆ͕؆୯Β͍͚͠Ͳɺͬͨ͜ͱ͋Δਓ͍·͔͢ʁ@kaoru6strings
ΈΜͳͰJob/Queue͓͏ʂ@kaoru6strings
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠@kaoru6strings