RabbitMQ,Beanstalk或Resque是否支持在特定日期安排任务?

时间:2013-05-13 16:46:04

标签: rabbitmq resque mq beanstalkd

我看过 RabbitMQ Beanstalk Resque ,这些都是针对异步,非延迟的任务(即运行)所有这些都尽可能快。)

是否支持在特定时间戳上安排任务

2 个答案:

答案 0 :(得分:1)

Beanstalk提供了“延迟”参数,您可以将延迟队列中的消息延迟特定时间段。

Resque有一个或多个调度附加组件,用于提供调度任务。

对于队列,延迟通常是一个整数,指定延迟的秒数(在这种情况下,您需要转换为所需的增量)。更强大的调度 - 例如作为任务队列的一部分 - 通常会通过客户端库获取日期时间值。

请注意,您还可以使用IronMQ推送队列(像beanstalk这样的延迟)或IronWorker(调度任务而不是排队)。 (请注意,我为Iron.io工作。)

答案 1 :(得分:0)

Deplayed_job这样做:

Delayed::Job.enqueue(MailingJob.new(params[:id]), 3, 3.days.from_now)

http://railscasts.com/episodes/171-delayed-job?view=asciicast