【发布时间】:2016-02-15 15:27:04
【问题描述】:
我有一个 Ruby on Rails 应用程序,我需要在面试前一天发送申请人提醒邮件。为此,我计划使用 The Rescue Scheduler,我使用的是 rails v 4.2。我已经运行了redis服务器我的代码如下:
def sendemails
@user2=User.new( :firstname=> "Betterlucknexttime",:email=>)
SendEmailJob.new.perform(@user)
end
在 sendEmail 文件中
class SendEmailJob < ActiveJob::Base
queue_as :default
def perform(user)
UserMailer.welcome_email(user).deliver_later
end
end
在配置/开发中我设置了config.active_job.queue_adapter = :resque
我检查了我的日志文件,这是我看到的:
[ActiveJob] 无法记录“enqueue.active_job”事件。 URI::GID::MissingModelIdError: 无法为用户创建全局 ID 没有模型 ID。 app/jobs/send_email_job.rb:5:in perform'
app/controllers/adminusers_controller.rb:45:in sendemails'
一般来说,当我不使用 Deliver_later 选项时,我会立即收到我的电子邮件。但是,我需要使用 Deliver_later 来发送这些电子邮件作为提醒。非常感谢您的帮助!
【问题讨论】:
标签: ruby-on-rails ruby logging resque