лимиты массовой рассылки в GAE - PullRequest
1 голос
/ 13 июня 2011

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

  1. В запросе пользователя добавьте задачу вочередь задач, где каждая задача отправляет одно электронное письмо.Ограничение здесь - сколько задач я могу поставить в очередь за 30 секунд.Есть ли способ оценить это надежно?

  2. В запросе пользователя добавьте одну задачу в очередь задач, где эта одна задача добавляет задачи во вторую очередь задач, где каждая задача во второйочередь отправляет одно электронное письмо.Поскольку ограничение здесь составляет 10 минут, разумно ли предположить, что я могу отправлять в 20 раз больше электронных писем, чем при использовании метода 1?

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

Если методы 1 или 2 могут отправить достаточное количество писем, я бы предпочел придерживаться их, чтобы избежать дополнительной сложностииспользуя бэкэнд.Если это имеет значение, я использую Python API.

1 Ответ

2 голосов
/ 14 июня 2011

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

...