2016-09-08 38 views
1

我已經使用sidekiq進行actionmailer傳遞作業。我需要在訂閱30分鐘後向用戶發送thanks mailRails 5 deliver_later不發送更新內容的郵件

@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 

郵件已被觸發與更新的內容。

當我發送訂閱郵件,以30分鐘的延遲:

UserMailer.thanks_mail(@user).deliver_later!(wait: 30 minutes) 

郵件與舊的內容發送。任何人都可以幫助我嗎?

+0

你需要給我們更多的信息, –

+0

@TonyVincent我已經更新了我的問題。請在此幫助我 –

回答

1

您需要重新啓動sidekiq。看到這個線程here

  1. 使用ps -ef | grep sidekiq找到PID
  2. 創建一個文件(例如,sidekiq.pid),唯一的內容是將PID你剛剛發現
  3. sidekiqctl stop <pidfile_name>
  4. 使用-P <pidfile_name>--pidfile <pidfile_name>開始時sidekiq在未來
+0

我已經試過了。即使那樣我也遇到了同樣的問題。還驗證了sidekiq的process_id是否已更改。 –