2013-10-05 68 views
1

我有一個rails 4應用程序,我有客戶將下載一個片段,然後有一個評級選項。我想向他們發送提醒郵件,說他們在下載視頻1天后還沒有評分。我該如何安排?我查看了whenever寶石,但我不確定如何在下載事件發生後如何發起操作,它看起來好像專爲持續和重複發生的事件而設計。賽事發生在賽道後發生的賽程安排


此外請注意,只有當用戶還沒有評級時才發送郵件。我確信我們可以在用戶下載視頻24小時後隨時發送郵件,但我需要檢查用戶是否評估過,然後發送。我怎麼做?

+0

你能不能檢查,如果用戶已經在cron作業分級或不?還是根本沒有被捕獲? – usha

+0

我可以找到用戶是否評分。我不知道如何檢查,當我寫一個cron作業或每當使用時間表。 – Aravind

+0

我已經更新了我的答案。基本上,你可以從cron job調用ruby方法。我希望它可以幫助 – usha

回答

2

它是否必須在24小時後?如果沒有,

當用戶下載剪輯時,您可以捕獲用戶對數據庫中的下載時間戳,並通過檢查downloaded_at時間戳記來獲得夜間cron作業(每當gem時使用)向用戶發送電子郵件。

config/schedule.rb

every 1.day, :at => '4:30 am' do 
    runner "MyModel.task_to_run_at_four_thirty_in_the_morning" 
end 

在你的類(無論你看到下面是僞代碼)

class MyModel 
    def task_to_run_at_four_thirty_in_the_morning 
    if user_downloaded_before_24_hours and user_has_not_rated 
     send_email 
    end 
    end 
end 
+0

謝謝。看起來這會工作。在我嘗試和它的工作後會接受。感謝您的時間,感謝它! – Aravind