2010-01-21 5 views
5

Для моего side project kwiqi, я использую метод «прием» ActionMailer для обработки входящих сообщений электронной почты для отслеживания моих расходов. У Heroku не работает локальный почтовый сервер, который не работает. Одно из решений, о котором я думал, - это периодически нажимать на действие контроллера, которое вытаскивает сообщения из Gmail. Существуют ли другие разумные решения? Кто-нибудь обрабатывает входящие письма в Heroku?Обработка входящих сообщений электронной почты на Heroku

ответ

4

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

В прошлом я использовал Cron, вызывающий контроллер в своем приложении. Это довольно эффективно.

Если часовое ограничение является проблемой, вы можете позвонить своему приложению из другого места ... У меня есть дешевая учетная запись Dreamhost для некоторых из моих неприоритетных сайтов, которые я использовал в качестве систем Cron.

Существует также несколько служб ping и uptime, которые вы можете использовать для этой цели, а также ... просто передайте эти службы своему контроллеру электронной почты.

+0

Я понял как много. Это персональный проект, поэтому нет никакого вреда в привязке динозавра для обработки. –

+1

Мне нравится идея использования службы ping для выполнения работы. –

+2

BTW, Heroku имеет надстройку в бета-версии, которая позволит вам запускать задания каждые 10 минут (http://addons.heroku.com/scheduler) –

2

Настоящим ограничением Heroku в настоящее время является то, что самая быстрая частота, которую они поддерживают для рабочих мест cron, является ежечасно.

Я бы рекомендовал использовать Gmail и использовать задержанную работу в качестве альтернативы cron для установки более разумной частоты. Существует хорошее руководство по настройке этого на WiseJive

12

Вы можете использовать аддон sendgrid и их parse api (http://wiki.sendgrid.com/doku.php?id=parse_api). Я написал короткий учебник о том, как это сделать здесь: http://nanceskitchen.com/2010/02/21/accept-incoming-emails-into-a-heroku-app-using-sendgrid/

+0

Спасибо за это, отличный учебник. Вам пришлось заплатить за аддон AddGrid pro? – hornairs

+2

Нет, я все еще использую бесплатный аддон. Я также использовал CloudMailin, и он работает хорошо. – DougB

7

Я знаю, что это немного поздно, но для тех, кто может найти это полезное в будущем, мы создали аддон http:///CloudMailin.com для Heroku, который должен помочь вам получать электронную почту на приложениях Heroku Rails очень легко.

Смежные вопросы