队列管理器与体面的PHP客户端



首先,这不是"什么是最好的队列管理器…"之类的问题。

我目前使用Gearman进行队列管理。它很快,很可靠,但我确实错过了一些功能,我想根据我的需求了解更好的选择。我曾经在Ruby中使用Delayed_job和Resque,但即使使用它们,我也没有找到以下所有要求:

  1. 我不需要一台速度极快的服务器(我们每天处理大约3000个任务/作业)
  2. 我需要它才能重新排队执行任务
  3. 以持久的方式存储当前任务(而不仅仅是内存)
    • 它应该能够在服务器之间复制数据(以便在服务器崩溃时保持高可用性)
  4. 列出项目
    • 并且能够有一个超时,自动重新排队
  5. 能够延迟任务
    • 从现在起安排到5分钟
    • 或安排到下周日
  6. 能够管理队列
    • 每个队列有多少个作业
    • 工作是关于什么的
    • 我可以查询队列吗

其他想法:

  • 能够通过Zabbix监控服务器状态会很好

我对Beanstalkd有很好的第一印象。我只怀念服务器之间的数据复制。我对ActiveMQ Apollo也有很好的印象,但我不知道如何延迟安排。

有什么想法吗?

Beanstalkd完成了大部分工作,您可以保存二进制日志。不过这只是当地的。监测很容易,只需连接,发送"STATS"调用,并读取结果,还可以选择返回以从已知管道中获取计数。

还有另外两种潜在的远程托管解决方案具有高可用性。亚马逊SQS和IronMQ。Iron的一个优点(尽管我个人没有使用过)是它还有一个几乎100%兼容Beanstalkd的接口,只是后端更"企业化"。

相关内容

  • 没有找到相关文章

最新更新