PHP中的并行处理 - 你是怎么做到的?
我目前正在尝试在php中实现作业队列。然后,队列将作为批处理作业进行处理,并且应该能够并行处理某些作业。
我已经做了一些研究,并找到了几种实现它的方法,但我并没有真正意识到它们的优点和缺点。
例如,通过多次调用脚本来执行并行处理,如下所示:
PHP中的简单并行处理fsockopen
我发现的另一种方法是使用这些函数。
curl_multi_exec PHP 文档curl_multi
但我认为这两种方法会增加在应该主要在后台运行的队列上创建批处理的开销吗?
我还读到这似乎也是处理问题的一种方式。但看起来,如果你真的不知道自己在做什么(就像我现在一样),它会变得非常混乱。pcntl_fork
我也看了一下,但是在那里我还需要根据需要动态生成工作线程,而不仅仅是运行几个,然后让齿轮工作业服务器将其发送给免费工作线程。特别是因为线程应该在执行一个作业后干净地退出,以免遇到最终的内存泄漏(该问题中的代码可能并不完美)。
Gearman 入门Gearman
所以我的问题是,你如何处理PHP中的并行处理?为什么选择您的方法,不同的方法可能有哪些优点/缺点?