우선, Whenever와 Cron은 동의어입니다. 모두 당신이 Ruby를 사용하여 cronjob을 작성하는 방법을 제공 할 때마다 (나는 대단한데, 언제나 사랑합니다).
지연된 작업이 여기에 대한 대답이 아닙니다. 당신은 확실히 cronjobs를 사용하고 싶습니다. 응용 프로그램 모델에서 updated_at
값이 < 2.days.ago
인 응용 프로그램을 가져 와서 지원자에게 전자 메일을 보내는 메서드를 만듭니다.
def notify_stale_applicants
@stale_applications = Application.where('updated_at < ?', 2.days.ago) # or 48.hours.ago
@stale_applications.each do |app|
UserMailer.notify_is_stale(app).deliver
end
end
그리고 당신의 UserMailer :
every :day, :at => '8am' do
runner 'Application.notify_stale_applicants'
end
이 크론을 만들 때마다 사용
def notify_is_stale(application)
@application = application
mail(:to => application.user.email, :from => "Application Status <[email protected]>", :subject => "You haven't finished your Application!"
end