同步调用handle_asynchronously方法

时间:2013-03-15 22:37:56

标签: ruby-on-rails delayed-job

我正在使用Rails和delayed_job,我的一个方法被标记为handle_asynchronously,因此调用它会自动输入DJ队列。有没有办法覆盖这个声明并改为同步调用它?

2 个答案:

答案 0 :(得分:5)

我还没有尝试过,但是您应该可以使用_without_delay附加到其名称来调用您的方法,因为DJ会在调用alias_method_chain时使用handle_asynchronously

因此,如果您有handle_asynchronously :do_work,请致电do_work_without_delay

答案 1 :(得分:0)

我在我的环境文件中使用补丁,因为有时我正在测试调用异步方法的东西:

  module Delayed::MessageSending::ClassMethods
    def handle_asynchronously(*opts)
      # no-op
    end
  end