我知道之前已经问过这个问题,但是我无法弄清楚这个难题的哪一部分,并且真的希望得到任何帮助!
计划流程:
初始请求:浏览器 - > Apache - >到PHP - > PHP将有关耗时命令的taskinfo发送到'某事',然后立即返回。
多个浏览器可能会同时向服务器发送多个请求。
SERVER:'something'运行一个特定的命令,其中taskinfo作为params在BACKGROUND>中并行运行。将输出保存到DB
AJAX: - > Apache - > PHP - >检查DB - >将信息返回给用户。
我已经探索过诸如rabbitmq / gearman等解决方案,但我无法弄明白。
精确问题是每当添加到'队列/列表中的任务时,我无法弄清楚'某事'(守护进程)的部分会自动运行指定的命令”。我看到它的方式,命令需要从守护进程单独运行,我不明白该命令应该在何处或如何运行。
简而言之:一个非阻塞守护进程,它监视队列并运行特定命令!
但是怎么样?
现在已经坚持了几天。我知道有更简单的替代方法,如curl和exec(),但它们不适合我的用例。
由于
答案 0 :(得分:0)
看看the second tutorial for rabbitmq,看起来很像你需要的东西。如果不清楚,请先看看第一个 - 这很简单。
基本上任何对rabbitmq代理的订阅客户端都可以是你的守护进程,你可以拥有任意数量的一般。