Rails 5 deliver_later 不发送内容更新的邮件
Rails 5 deliver_later not sending mails with updated content
我已经使用 sidekiq 进行 actionmailer 投递工作。我需要在订阅 30 分钟后向用户发送 thanks mail
。
@user = User.new(user_params)
if @user.save
UserMailer.thanks_mail(@user).deliver_later!(wait: 30 minutes)
end
现在我已经更改了 thanks_mail.html.erb
文件中感谢邮件的内容。
当我立即发送订阅邮件时:
UserMailer.thanks_mail(@user).deliver_now
已使用更新的内容触发邮件。[=17=]
当我延迟 30 分钟发送订阅邮件时:
UserMailer.thanks_mail(@user).deliver_later!(wait: 30 minutes)
邮件是用旧内容发送的。谁能帮我解决这个问题?
您需要重启sidekiq。查看此线程 here
- 使用
ps -ef | grep sidekiq
查找pid
- 创建一个文件(例如,
sidekiq.pid
),其中唯一的内容就是您刚刚找到的 pid
sidekiqctl stop <pidfile_name>
- 以后启动sidekiq时使用
-P <pidfile_name>
或--pidfile <pidfile_name>
我已经使用 sidekiq 进行 actionmailer 投递工作。我需要在订阅 30 分钟后向用户发送 thanks mail
。
@user = User.new(user_params)
if @user.save
UserMailer.thanks_mail(@user).deliver_later!(wait: 30 minutes)
end
现在我已经更改了 thanks_mail.html.erb
文件中感谢邮件的内容。
当我立即发送订阅邮件时:
UserMailer.thanks_mail(@user).deliver_now
已使用更新的内容触发邮件。[=17=]
当我延迟 30 分钟发送订阅邮件时:
UserMailer.thanks_mail(@user).deliver_later!(wait: 30 minutes)
邮件是用旧内容发送的。谁能帮我解决这个问题?
您需要重启sidekiq。查看此线程 here
- 使用
ps -ef | grep sidekiq
查找pid - 创建一个文件(例如,
sidekiq.pid
),其中唯一的内容就是您刚刚找到的 pid sidekiqctl stop <pidfile_name>
- 以后启动sidekiq时使用
-P <pidfile_name>
或--pidfile <pidfile_name>