简体   繁体   English

适用于Java,PHP和Python的开源队列

[英]Open Source Queue that works with Java, PHP and Python

I'm currently in the market for a new queue system for jobs we have in our system. 我目前正在市场上为我们系统中的工作建立一个新的队列系统。 I've tried beanstalk but it's been unable to keep up with the load. 我尝试过beanstalk,但它无法跟上负载。 I'm looking for a simple system to get up and running that I can put pieces of data in from producers and have consumers in Java, PHP and Python pull data off and process it. 我正在寻找一个简单的系统来启动和运行,我可以从生产者那里放入数据,让消费者使用Java,PHP和Python来提取数据并进行处理。

Ideally I'd like to see features such as: 理想情况下,我希望看到以下功能:

Job verification -> jobs are removed from the queue only when I've marked them as finished (in case of failures I don't have to put the jobs back in) 作业验证 - >只有在我将其标记为已完成时才会从队列中删除作业(如果出现故障,我不必将作业重新放入)

Priorities -> ability to prioritize jobs 优先事项 - >优先考虑工作的能力

Multiple channels -> ability to have one queue that can service several apps with separate data streams(or databases) 多个渠道 - >能够拥有一个队列,可以使用单独的数据流(或数据库)为多个应用程序提供服务

Disk Persistence -> ability to have jobs written to disk in case of failures 磁盘持久性 - >在发生故障时将作业写入磁盘的能力

anyone have any good suggestions? 有人有什么好建议吗?

Currently looking at RabbitMQ 目前正在关注RabbitMQ

How about Apache ActiveMQ . Apache ActiveMQ怎么样?

Accessible from Java, PHP, Python. 可从Java,PHP,Python访问。

Supports all the features you requested. 支持您请求的所有功能。

RabbitMQ是一个很好的消息传递系统,它有Java,PHP,Python和许多其他语言的绑定。

The Berkeley database can be used to build a priority queue with bindings to most relevant languages. Berkeley数据库可用于构建具有与大多数相关语言绑定的优先级队列。 The HA (High Availability) configuration can make it distributed as well. HA(高可用性)配置也可以使其分发。 I believe the Sun Grid Engine, for instance, uses just that to synchronize jobs. 例如,我相信Sun Grid Engine只使用它来同步作业。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM