2010-03-25 130 views
0

我写了一个PHP shell脚本,它包含了使用'at'命令在centOS中排队的作业。 队列作业的时间和内容可能会有所不同,这意味着系统需要保留相当多的作业。 使用cronjob设置应用程序逻辑也有点困难。 centOS中的队列作业数量是否有限制,或者是否有任何其他的排队作业方式?在centOS中的PHP队列作业

回答

0

您可能会考虑写入“分布式”队列,如droprAMPQ的实现。

+0

其他方式如何?如果排队工作没有限制,我想使用它。 – 2010-05-31 09:16:48

+0

消息队列本质上是无限的,唯一的缺点是你需要编写一个程序从队列中读取并启动作业。或者,您可以使用数据库来达到相同的目的(IE,将作业写入数据库,然后从中读取另一个进程)。这将很容易设置,因为你使用的是PHP,并且会支持大量的作业。 – 2010-05-31 12:55:14

0

很多作业流程可能会降低整个服务器的速度。如果它们中有很多是同时开始的(或者只是同时工作),就可能发生这种情况。如果你有20个硬工作进程,只有4个CPU核心,他们会争取CPU,它应该经常切换它们。

我建议使用消息队列和工作者池。您可以从文件系统队列(或基于MySQL)开始。你只需要安装一个php lib,不需要额外的服务。如果需要的话,稍后可以用较少的努力切换到真正的消息队列代理。

我会推荐使用enqueue库。