Perl 分布式作业队列

Sma*_*elf 2 unix perl job-scheduling

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

目前我们所有的代码都在 perl 中。我正在考虑使用 ApacheMQ、Gearman、Resque 等...

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

谢谢

Kev*_* G. 5

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

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

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

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

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

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

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

两者都有用于消息队列部分的不错的 Web 界面。