1

クリップをダウンロードする顧客がいるレール4アプリがあり、その横に評価オプションがあります。動画をダウンロードしてから 1 日経っても評価されていないことを知らせるリマインダー メールを送信したいと考えています。これをスケジュールするにはどうすればよいですか? いつでもgemを調べましたが、ダウンロードイベントが発生した後にアクションを開始する方法がわかりません.これは、継続的かつ繰り返し発生するイベント用に設計されているようです.


また、メールはユーザーが評価していない場合にのみ送信されることに注意してください。ユーザーが動画をダウンロードしてから 24 時間後にいつでもメールを送信できると確信していますが、ユーザーが評価したかどうかを確認してから送信する必要があります。それ、どうやったら出来るの?

4

1 に答える 1

2

正確に24時間後でなければなりませんか?そうでない場合は、

ユーザーがクリップをダウンロードすると、ユーザーに対してデータベース内のダウンロード タイムスタンプをキャプチャし、download_at タイムスタンプをチェックすることで、夜間の cron ジョブ (everyone 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
于 2013-10-05T20:09:38.837 に答える