作者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/cn.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