【问题标题】:PHP queue jobs in centOScentOS 中的 PHP 队列作业
【发布时间】:2010-03-25 02:12:16
【问题描述】:

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

【问题讨论】:

    标签: php scheduling centos


    【解决方案1】:

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

    【讨论】:

    • 还有其他方法吗?如果排队工作没有限制,我想使用它。
    • 消息队列本质上是无限的,唯一的缺点是您需要编写一个程序来从队列中读取并启动作业。或者,您可以将数据库用于相同目的(即,将作业写入数据库,然后从它们读取另一个进程)。这很容易设置,因为您使用的是 PHP,并且再次支持大量作业。
    【解决方案2】:

    许多作业进程可能会减慢整个服务器的速度。如果其中有许多同时开始(或只是同时工作),则可能会发生这种情况。如果您有 20 个辛勤工作的进程并且只有 4 个 CPU 内核,那么它​​们将会为 CPU 而奋斗,并且应该经常在它们之间切换。

    我建议使用消息队列和工作人员池。您可以从文件系统队列(或基于 mysql)开始。你只需要安装一个 php 库,没有任何额外的服务。稍后,如果需要,您可以更轻松地切换到真正的消息队列代理。

    我建议使用enqueue 库。

    【讨论】:

      猜你喜欢
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 2018-02-14
      • 2015-07-07
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      相关资源
      最近更新 更多