什么是跨平台使用的良好工作队列?

时间:2013-11-10 18:22:22

标签: resque task-queue beanstalkd

方案:

在Web应用程序中,一些部分在PHP中实现,而另一些部分在node.js中实现。 PHP和node.js之间的通信应该通过异步队列/工作系统来实现。

在应用程序的PHP部分,API请求应排队。在node.js中,应该处理排队的API请求(worker)。应将结果保存回队列。稍后应使用PHP检索结果。该队列应支持重试策略并支持对已完成请求的通知(对客户端)。

问题:

我不想自己实现队列。工作队列本身不应该在PHP中运行,因为我不想长时间运行PHP进程。

我找到了工作队列

  • beanstalkd
  • resque
  • 芹菜
  • 的RabbitMQ

它们适合这种情况吗? Resque看起来很棒。但是,PHP客户端可以与Ruby队列一起工作吗?有没有人遇到类似的事情?工作人员可以将结果写回工作队列吗?是否可以通知客户结果?

1 个答案:

答案 0 :(得分:0)

经过大量研究后,我正在使用rabbitmq。

有多个平台的“官方”客户端库。因此,在不同平台上运行的子系统可以很简单地协同工作。

那里有resq的res叉。但我喜欢兔子的方式。一个消息代理,良好的文档,“官方”客户端库。