message-queue - 具有延迟的简单可扩展工作/消息队列

标签 message-queue rabbitmq gearman beanstalkd

我需要设置一个作业/消息队列,并为该任务设置一个延迟,以使它不会被免费的工作人员立即拾取,而是经过一定的时间(因任务而异)。我研究了几个Linux队列解决方案(rabbitmq,gearman,memcacheq),但是似乎没有一个提供开箱即用的功能。

关于如何实现此目标的任何想法?

谢谢!

最佳答案

我使用BeanstalkD效果很好,在插入新作业时使用了delay选项,以等待几秒钟,直到可以保留该项目为止。

如果您要进行较长时间的延迟(例如说超过30秒),或者要执行一些重要的工作(以后再执行),那么它也具有二进制日志记录系统,因此任何守护程序崩溃都将保留该工作的记录。就是说,我已经通过Beanstalkd实例放置了数十万个实时作业,而我编写的工作人员总是比服务器更有问题。

关于message-queue - 具有延迟的简单可扩展工作/消息队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2364080/

相关文章:

java - Spring amqp消费者在网络故障后不会重新连接到队列

linux - 更改 Pecl 安装目录

ruby-on-rails - Gearman 架构查询

locking - ZooKeeper 和 RabbitMQ/Qpid 结合在一起——是杀伤力大还是一个好的组合?

c - 用消息队列C发送文件内容

RabbitMQ 交换类型比较 : Topic vs. Header

python - Python中传统线程和asyncio线程如何通信?

java - RabbitMQ Java客户端: What happens when a RuntimeException is thrown inside a consumer's handleDelivery() method?

java - 如何使用java启动服务器?

ubuntu - Gearmand 不启动 - 不支持套接字地址系列