1

我无法发送电子邮件。我已经尝试过以下方法:将处理程序类型从文本转换为长文本不起作用,因为我正在使用 postgres。我也尝试过重新启动我的工人和延迟的工作,而我延迟的工作是 3.0.1 版本。

我在线上遇到问题:

Notifier.delay.delivery_alert(u)

我的 delivery_alert 方法是

def delivery_alert(user) 
    @user = user
    @deliveries = @user.issues.includes(:copy => [:rentable]).current.by_last_status("to_be_delivered").map(&:copy).map(&:rentable)
    @returns = @user.issues.includes(:copy => [:rentable]).current.by_last_status("marked_for_return").map(&:copy).map(&:rentable)
    mail(:to => @user.email)
end

在本地主机上我收到错误:

[Worker(host:ubuntu pid:12169)] Class#delivery_alert failed with NoMethodError: undefined method `delivery_alert' for # - 5 次失败尝试,我在我的 lib 文件夹中添加了补丁

require 'yaml'

module Delayed
 module Backend
  module Base
   def payload_object
    YAML::ENGINE.yamler = 'psych'
    @payload_object ||= YAML.load(self.handler)
    rescue TypeError, LoadError, NameError, ArgumentError => e
     raise DeserializationError,
     "Job failed to load: #{e.message}. Handler: #{handler.inspect}"
    end
   end
 end

 class PerformableMailer
  def perform
    double = object.is_a?( String ) ? object.constantize : object
    double.send(method_name, *args).deliver
  end
 end
end

通过参考

https://gist.github.com/oelmekki/2181381

但我的电子邮件仍然没有发送。提前致谢?

4

0 回答 0