Очередь писем в App Engine - PullRequest
       25

Очередь писем в App Engine

2 голосов
/ 25 декабря 2009

Мне нужно отправлять электронные письма со скоростью, превышающей бесплатную квоту электронной почты App Engine (8 электронных писем в минуту). Я планирую использовать TaskQueue для постановки электронной почты в очередь, но мне было интересно: есть ли уже библиотека или модуль Python, который я мог бы использовать для автоматизации этого? Это похоже на проблему, с которой кто-то мог столкнуться раньше.

Ответы [ 5 ]

4 голосов
/ 26 декабря 2009

Если это опция, почему бы просто не включить биллинг? Максимальная скорость будет повышена с 8 до 5 100 получателей в минуту.

Первые 2000 получателей бесплатны каждый день, если вы не выходите за рамки ежедневных бесплатных квот, и я понимаю, что это вам ничего не будет стоить (и если вам нужно отправлять по электронной почте более 2000 человек в день, вы '' в любом случае придется включить биллинг).

3 голосов
/ 02 января 2010

Библиотека deferred предназначена именно для такого рода вещей. Просто используйте deferred.defer(message.send) и убедитесь, что используемая очередь имеет соответствующую скорость выполнения.

1 голос
/ 26 декабря 2009

дешевле просто заплатить за это год, чем найти обходной путь.

0 голосов
/ 25 декабря 2009

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

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

0 голосов
/ 25 декабря 2009

На мой взгляд, самым простым способом было бы использовать очередь, кроме Amazon SQS, и извлекать 8 записей в минуту в задании cron, которое выполняется каждую минуту.

Учитывая, что он был помещен в очередь, а затем удален, я вычисляю, что это чрезвычайно дешевый сервис.

См. Ниже, 0,000002 - это ставка для 2 запросов. (Добавить и просмотреть)

8 запросов в минуту, 60 минут в час и 24 часа в день. Примите во внимание 30 дней в среднем месяце, вы все еще меньше $ 1.

0,000002 * 8 * 60 * 24 * 30 = 0,6912

Возможно, это не совсем то, что вы искали, но это должно быть довольно простое решение.

EDIT: Смотрите здесь, Python SQS & S3 Lib (sqs - это все, что вам нужно).

http://pypi.python.org/pypi/Python-Amazon/0.5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...