2013-07-21 3 views
0

У меня есть приложение Django, которое должно отслеживать учетную запись электронной почты, на которую пользователи отправляют электронные письма. Например, он сохранит тему электронной почты в базе данных, если отправитель уже зарегистрирован. Реальное приложение более сложное, чем этот пример, поэтому я хочу настроить задачу celery для обработки электронной почты в фоновом режиме распределенным способом. У меня уже есть проблема с сельдерием по асинхронному отправке писем, но есть несколько вопросов, которые я хотел бы получить от вас по поводу обработки полученных писем:Распространенная обработка электронной почты в django/celery

1) есть ли способ для постфикса (или что-то еще подобного) для PUSH новые письма к скрипту python? Если нет, я должен периодически опробовать почтовые ящики из сельдерея, так?

2) чтобы каждое электронное письмо обрабатывалось одним и только одним работником, что из следующего лучше?

  • иметь один опрос задач папки Входящие затем распределить работу на несколько рабочих для обработки (например, каждый работник получает N писем)

  • иметь несколько рабочих опрашивать почтовый ящик, и каждый из них получает некоторые из писем

3) для опроса электронного почтового ящика, так как я могу получить доступ к серверу электронной почты непосредственно, я полагаю, опрашивая файлы является более эффективным, чем опрос через IMAP. есть ли недостатки в этом?

моя текущая схема (запланировано, но не реализовано/испытания еще, так что это просто грубая идея ...)

  • имеют N рабочих (скажем, N = 10) опрашивать почтовый ящик (по файлам)
  • имеют функцию для вычисления значения хэша для каждого адреса электронной почты.
  • Работник m получает электронное сообщение, если: (его хэш% N) = m. таким образом, каждое электронное письмо обрабатывается одним и только одним рабочим, но проблема в том, что рабочий не работает, некоторые из писем никогда не будут обработаны! Как преодолеть это?

Благодарим за то, что дайте мне знать ваше мнение!

ответ

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

  • Нет связанных вопросов^_^