我已經看了RabbitMQ的,青苗和Resque,這似乎都朝着面向異步,無延遲的任務(例如,儘可能快地運行所有的這些)。RabbitMQ,Beanstalk或Resque是否支持在特定日期安排任務?
它們中的任何一個都支持在某個時間戳上安排任務?
我已經看了RabbitMQ的,青苗和Resque,這似乎都朝着面向異步,無延遲的任務(例如,儘可能快地運行所有的這些)。RabbitMQ,Beanstalk或Resque是否支持在特定日期安排任務?
它們中的任何一個都支持在某個時間戳上安排任務?
Beanstalk提供了「延遲」參數的規定,您可以在特定的時間段內將消息延遲到延遲隊列中。
Resque有一個或多個調度附加組件,它將提供調度任務。
對於隊列,延遲通常是一個整數,指定延遲秒數(在這種情況下,您需要轉換爲您需要的增量)。更強大的調度 - 例如作爲任務隊列的一部分 - 通常會通過客戶端庫獲取日期時間值。
請注意,您還可以使用IronMQ推送隊列(延遲類似beanstalk)或IronWorker(調度任務而不是排隊)。 (請注意,我的工作Iron.io.)
Deplayed_job做到這一點:
Delayed::Job.enqueue(MailingJob.new(params[:id]), 3, 3.days.from_now)
http://railscasts.com/episodes/171-delayed-job?view=asciicast