我正在运行一项将数据发送到rest api的工作。
在完成所有这些请求之后,我需要一个10分钟的延迟,然后将调用一个方法来处理那些已发送的请求。
def self.batch_task(batch_params)
# a very long code
Batch.delay.check_requests
end
我的第二种方法是check_requests
def self.check_requests
puts 'hello darkness'
end
def check_requests
self.check_requests
end
最后,我正在调用handle_asynchronously
handle_asynchronously :batch_task
handle_asynchronously :check_requests, :run_at => Proc.new { 10.minutes.from_now }
Batch_task正确运行后跟check_reqeusts,但是我没有在函数check_requests 之前得到任何10分钟的延迟。 我的佣金工作正常。我还在rake作业的控制台中看到了hello_darkness输出。
答案 0 :(得分:0)
尝试使用delay
方法
batch_task
,如下所示
def self.batch_task(batch_params)
# a very long code
Batch.delay(run_at: 10.minutes.from_now).check_requests
end
handle_asynchronously :batch_task
handle_asynchronously :check_requests