2013-03-23 45 views
0

对于我们的应用程序,我们正在设置是这样的:Rails的宝石来管理队列和延时结果

我们是在队列中的多个任务(从数据库中读取,这里没有什么特别),它们是由每个用户完成。一旦用户完成任务,他们会被问到结果是什么。每个结果都有自己的一套规则。这些规则看起来就像这样:

  • 后续的“X”天
  • 等待“X”之后的下一个后续
  • 认沽任务放回队列前几天的“x”天

delayed_jobs能够处理这个问题吗?如果有任何问题,我正在使用一个pg数据库。

回答

2

快速查看Github homepage for DelayedJob产生了这个!看起来你可以很容易地安排在某个特定的将来发生的事情:

def follow_up 
    # Some other code 
    end 
    # 12.minutes.from_now will be evaluated when follow_up is called 

    handle_asynchronously :follow_up, :run_at => Proc.new { 12.days.from_now }