各位artisan好~
最近工作專案有使用laravel的queue去做一些耗時的Job
架了一台Job server,使用php artisan queue:work --daemon
並搭配supervisor去管理這些process
爬了幾天的文章之後在一些細節上有一些疑問想要請教各位
1.使用queue:work --daemon會產生一個process在不重啟框架的情況下不斷運行
那這個process什麼時候會結束呢?
2.如果我的queue server(ex:redis)有一個mail的queue,裡面有兩個message
此時laravel queue取到第一個message並開始處理(發第一封mail)之後,
laravel queue會:
(1)等第一封信發完之後再去取第二個message處理(發第二封信)
(2)取到第一個message之後馬上會再生一個process去取第二個message呢?
3.比方我有3個Job要做,例如:
1,發mail
2.做大量文字相關處理
3.大量圖片處理等等
因為這三個任務會消耗的資源/時間不一, 為了避免某些Job
使用大量資源沒有釋放造成其他Job跟著發生不穩定的現象,
我有再思考是否設計Job server依照工作不同各別去架
像是上面三個Job我就架設三台Job server,比較好觀察內存的消耗等等
想跟各位討論,我這樣子想的架構是好的嗎?
會不會其實太多此一舉?(全部Job放一台就好不要想太多)
以上的問題希望各位指教經驗不足的小弟,先謝謝各位了<(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.108.98
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1492533939.A.032.html