PHP工作排队:一个超级工人/调度员或许多小工人?

时间:2014-10-27 16:53:43

标签: php message-queue jobs worker beanstalkd

我开始使用异步作业/消息在PHP页面上做一些繁重的后台工作,而不是让用户坐在那里等待它。到目前为止,我倾向于使用Beanstalkd而不是RabbitMQ或亚马逊的SQS,但我的下面的问题更通用,适用于所有这些:

让一个巨大的工作人员担任多种工作类型的调度员会更好吗?

  • 工作人员根据工作类型监视所有工作,代表
  • 只有一个与Beanstalkd的开放连接
  • 使用元数据调度Worker对象来进行实际工作吗?
  • 服务器上一次只能处理1个作业

或者,在同一台服务器上安装几个较小的聚焦工作者脚本会更好吗?

  • 每个工人只看一种工作
  • 与Beanstalkd的多个持续连接
  • 不太复杂,因为每个脚本只做一件事
  • 其他工作类型在等待一个长工作运行时不会堵塞
  • 占用更多资源

可能还有其他一些我甚至不知道的因素,所以任何额外的提示都会受到赞赏。

(如果重要的话,我打算使用Supervisor守护基于PHP的工作人员脚本。现在工作人员只能在1台服务器上运行,但将来可能扩展到2台服务器......)< / p>

0 个答案:

没有答案