2012-01-20 5 views
0

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

Проблема заключается в том, что у приложения есть ограничения на получение объектов из хранилища данных. Например, максимальное количество строк, которые могут быть возвращены из хранилища данных, равно 1000.

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

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

Как я могу достичь этой задачи?

Заранее спасибо ..

+0

Ограничение смещения 1000 единиц не было на месте в течение довольно долгого времени. Однако вы не должны использовать лимит и смещение, вы должны использовать курсоры. –

ответ

0
from google.appengine.api import mail 

mail.send_mail(sender="Example.com Support <[email protected]>", 
       to="Albert Johnson <[email protected]>", 
       subject="Your account has been approved", 
       body=""" 
Dear Albert: 

Your example.com account has been approved. You can now visit 
http://www.example.com/ and sign in using your Google Account to 
access new features. 

Please let us know if you have any questions. 

The example.com Team 
""") 
+0

Я могу отправить электронную почту, но моя проблема заключается в том, что я не могу получить 4000 человек из хранилища данных и отправлять электронную почту всем их в ОДНОМ запросе. – gurkan

+0

Ahh Я вижу. Извините за ошибку. – Shadow

0

В одном запросе вы можете получить более 1000 наименований. Просто не использовать выборки и попробовать это:

Entities = Entity.all() # < - не принести

для е в субъектах: mail.send_mail()

Это будет держать на получение пользователей пока не истечет 10-минутный лимит: много сущностей и более чем достаточно для 4000 пользователей.

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