监视“队列”并以异步方式运行命令的守护程序

时间:2016-05-10 10:56:15

标签: php asynchronous parallel-processing rabbitmq

我知道之前已经问过这个问题,但是我无法弄清楚这个难题的哪一部分,并且真的希望得到任何帮助!

计划流程:

初始请求:浏览器 - > Apache - >到PHP - > PHP将有关耗时命令的taskinfo发送到'某事',然后立即返回。

多个浏览器可能会同时向服务器发送多个请求。

SERVER:'something'运行一个特定的命令,其中taskinfo作为params在BACKGROUND>中并行运行。将输出保存到DB

AJAX: - > Apache - > PHP - >检查DB - >将信息返回给用户。

我已经探索过诸如rabbitmq / gearman等解决方案,但我无法弄明白。

精确问题是每当添加到'队列/列表中的任务时,我无法弄清楚'某事'(守护进程)的部分会自动运行指定的命令”。我看到它的方式,命令需要从守护进程单独运行,我不明白该命令应该在何处或如何运行。

简而言之:一个非阻塞守护进程,它监视队列并运行特定命令!

但是怎么样?

现在已经坚持了几天。我知道有更简单的替代方法,如curl和exec(),但它们不适合我的用例。

由于

1 个答案:

答案 0 :(得分:0)

看看the second tutorial for rabbitmq,看起来很像你需要的东西。如果不清楚,请先看看第一个 - 这很简单。

基本上任何对rabbitmq代理的订阅客户端都可以是你的守护进程,你可以拥有任意数量的一般