作者factotum (到大都來找我吧)
看板PHP
標題[請益] Laravel queue worker 執行耗時工作
時間Tue Aug 7 19:41:55 2018
大家好
目前我的系統,針對單一 request 需要花費10分鐘左右執行一個後端的 C++ 程式,
然後使用者介面的部分打算採用網頁的方式
但是因為之前對於前端沒什麼經驗,所以想了幾個做法想請大家給點意見:
1. Laravel Queue Worker 的 handle() 裡,使用 shell_exec()的方式直接執行
外部程式
--> 這樣會不會有 timeout 的問題?
2. 在系統內用 UNIX domain socket 的方式讓網頁與 C++ 程式非同步地丟工作&收結果?
(網頁這邊定時起來丟&檢查)
3. 有推薦其他 framework 嗎? XD
因為一邊還希望可以在 DB 記錄一些資訊 (ex: timestamp),所以會傾向 DB操作,
Job Queue 處理等都盡量集中在 PHP 這邊處理就好。 不知道這樣可不可行?
或者有沒有什麼建議的方向?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.8.157
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1533642118.A.68A.html
※ 編輯: factotum (118.163.8.157), 08/07/2018 19:43:34
1F:推 MoMoShota: 用其它語言(如 Go or C++)去 MQ 裡拿資料出來處理 08/08 13:18
2F:→ MoMoShota: 也就是用其它語言去實現 Laravel Queue Worker 08/08 13:18
3F:→ kensou0012: job有retry_after的參數,queue有timeout的參數要去注 08/13 14:08
4F:→ kensou0012: 意。單純點你也可以用PHP自己寫個worker 08/13 14:08