我有一个相同的任务,我想跑两次 - 一次30分钟后,一次120分钟后。
我现在正以这种方式写作,但我相信有更好的解决方法
def postpone_30_min
// same task
end
handle_asynchronously :postpone_30_min, :run_at => Proc.new { 30.minutes.from_now }
def postpone_120_min
// same task
end
handle_asynchronously :postpone_120_min, :run_at => Proc.new { 1200.minutes.from_now }
答案 0 :(得分:4)
试试这个(假设您使用的是最新版本的DJ):
class Foo
after_create :schedule_reminder
def send_reminder
end
private:
def schedule_reminder
delay(:run_at => 30.minutes.from_now).send_reminder
delay(:run_at => 2.hours.from_now).send_reminder
end
end