Rails отправляет электронную почту по расписанию - PullRequest
0 голосов
/ 25 марта 2011

У меня есть приложение, которое представляет календарь, позволяющий вам создавать события, которые отображаются в календаре. Одним из полей, которое вы задаете, является день, когда начинается событие. Я хотел бы иметь возможность отправлять напоминания по электронной почте, когда наступит день мероприятия.

Я новичок в рельсах, поэтому я не совсем уверен, что мне нужно и с чего начать. Я прочитал руководство по рельсам для ActionMailer и сгенерировал почтовую программу, я предполагал, что мне понадобится одна из них. Я также прочитал руководство по рельсам для наблюдателей и подумал, что, возможно, это путь к тому, чего я хочу достичь.

Скажем, каждый день, 7 дней в неделю в центральном 9:00, должно выполняться задание (задача cron или rake), которое ищет столбец 'start_at' каждого события в базе данных (локально sqlite, Postegre с heroku в производстве) и если start_date равен 'today?' затем отправьте шаблон почтового сообщения, чтобы напомнить пользователю.

Так, каков наилучший способ (и с помощью какого инструмента) создать работу по проверке этой базы данных и отправлять электронные письма каждый день? Я думаю, что в будущем это превратится в напоминания раньше времени.

Какой-то псевдокод:

def send_email
  if self.start_at == Date.today #assuming self.start_at.today? works too.
    // send email
end

Просто не уверен, как заставить это работать.

1 Ответ

2 голосов
/ 25 марта 2011

У вас может быть Controller / Action, который делает это, а затем вызывать url из задания cron по указанному расписанию, используя команду, подобную cURL.

...