Ruby on rails 成功发送延迟作业电子邮件后更新用户表
我是一个试图处理延迟工作的笨蛋 我想在使用延迟作业成功发送邮件后更新用户模型 发送电子邮件:Ruby on rails 成功发送延迟作业电子邮件后更新用户表,ruby-on-rails,ruby,ruby-on-rails-3,delayed-job,Ruby On Rails,Ruby,Ruby On Rails 3,Delayed Job,我是一个试图处理延迟工作的笨蛋 我想在使用延迟作业成功发送邮件后更新用户模型 发送电子邮件: UserMailer.delay.welcome_email(user) 如果邮件发送成功,请执行以下操作: User.update_attributes(:emailed => true) 成功发送电子邮件后,如何获得回调或触发器?您需要创建作业对象,而不是调用\delay帮助程序。您可以使用successhook执行回调 class WelcomeEmailJob < Struct
UserMailer.delay.welcome_email(user)
如果邮件发送成功,请执行以下操作:
User.update_attributes(:emailed => true)
成功发送电子邮件后,如何获得回调或触发器?您需要创建作业对象,而不是调用
\delay
帮助程序。您可以使用success
hook执行回调
class WelcomeEmailJob < Struct.new(:user_id)
def perform
UserMailer.welcome_email(user)
end
def success(job)
user.update_attribute(:emailed, true)
end
private
def user
@user ||= User.find(user_id)
end
end
Delayed::Job.enqueue WelcomeEmailJob.new(user.id)
类WelcomeEmailJob
哇,看起来棒极了。我要试一试。谢谢西蒙妮,这真是太棒了。