Delayed_job:NoMethodError:未定义的方法`my_method_without_delay'

Lap*_*404 4 ruby-on-rails actionmailer delayed-job

使用rails 2.3.11和delayed_job 2.0.4作为gem我在使用时遇到错误handle_asynchronously:

在我的ActionMailer模型中,我声明了my_method并在声明后添加了'handle_asynchronously:my_method':

class MailSender < ActionMailer::Base
    def my_method
        ...
    end
    handle_asynchronously :my_method
end
Run Code Online (Sandbox Code Playgroud)

调用MailSender.deliver_my_method任务时正确添加到队列中.但是在尝试处理它时,它会失败并显示错误消息:

undefined method `rappel_email_without_delay' for #<YAML::Object:0x1034b85f8>
Run Code Online (Sandbox Code Playgroud)

延迟MailSender.delay.deliver_my_method正在工作并正确处理任务 - 但我宁愿使用handle_asynchronously我的模型来确保邮件总是在后台发送...

ser*_*i12 6

您需要使用重新启动工作进程

佣金工作:工作


bev*_*anb 5

在3.2.3中也有这个问题.

通过在每次代码更改后重新启动DJ进程来修复它.