2

我需要设置一个作业队列,通过 Web 界面安排长时间运行的作业队列。然后在多个盒子上运行。我还需要能够删除和重新排序队列中的作业。

目前我们所有的代码都在 perl 中。我正在考虑使用诸如 ApacheMQ、Gearman、Resque 等之类的东西……

问题是,前面提到的其中一个是否更适合这项工作,不同的软件解决方案呢?我的创意计划只是编写一个 MySQL/Perl 队列,但这非常困难。我更喜欢有一个像样的网络界面的东西,并且有一个 Perl 的界面。一个纯 MySQL/Perl 将是理想的。

谢谢

4

1 回答 1

5

是的,自己写一篇好文章是相当困难的。以下是我可以根据我的经验告诉你的:

CPAN 上的 TheSchwartz 是一个很好的可靠作业队列,它使用 mysql 作为后备存储。

Gearman 是一个不可靠但低延迟的队列,具有不同的功能集。

它们都没有 Web 界面,但它们具有良好的命令行界面,可以查看正在处理的内容以及队列的状态。

您可以使用 MQ 消息队列作为解决方案,但这些是消息传递队列,与作业管理不太一样,您必须自己处理调度、重试和失败等事情。

我已经看到通过 STOMP 通过 Perl 访问的 ActiveMQ 现在在两个项目中尝试并失败了。

RabbitMQ 非常稳定(去吧,Erlang!)并且非常有效。

两者都为消息队列部分提供了不错的 Web 界面。

于 2012-10-09T00:43:43.077 回答