1

我有一个 rails 4 应用程序,我的客户会下载一个剪辑,然后在它旁边有一个评级选项。我想向他们发送一封提醒电子邮件,说他们在下载视频 1 天后没有评分。我该如何安排?我查看了when gem,但我不确定在下载事件发生后如何启动操作,它看起来好像是为连续重复发生的事件而设计的。


另请注意,仅当用户未评分时才发送邮件。我确信我们可以在用户下载视频 24 小时后使用任何时候发送邮件,但我需要检查用户是否已评分然后发送。我怎么做?

4

1 回答 1

2

一定要在24小时之后吗?如果不,

当用户下载剪辑时,您可以在数据库中针对用户捕获下载时间戳,并通过检查下载的时间戳来让每晚的 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
于 2013-10-05T20:09:38.837 回答