如何向app引擎应用程序中的所有用户发送邮件

时间:2012-01-20 15:58:38

标签: google-app-engine email

我在谷歌应用引擎应用程序上工作,该应用程序目前有大约4000个用户,我想写一个处理程序来向所有用户发送电子邮件。

问题是app引擎在从数据存储中获取实体方面存在限制。例如,可以从数据存储区返回的最大行数为1000.

我可以通过使用gql的循环和限制,偏移参数来逐步获得所有用户。但是这次30秒的处理程序的最大生命周期限制了我。

我做了一些研究来克服这个问题,我最终得到了后端。但在我看来,后端使用情况不同,我的意思是它不适合这种操作。

我怎样才能完成这项任务?

提前致谢..

3 个答案:

答案 0 :(得分:0)

from google.appengine.api import mail

mail.send_mail(sender="Example.com Support <support@example.com>",
              to="Albert Johnson <Albert.Johnson@example.com>",
              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
""")

答案 1 :(得分:0)

任务队列为您提供10分钟的截止日期。请参阅documentation

答案 2 :(得分:0)

您可以在一个请求中获得超过1000个项目。只是避免使用fetch并试试这个:

entities = Entity.all()#&lt; - no fetch

对于实体中的e:   mail.send_mail()

这将继续吸引用户,直到10分钟的限制用完:很多实体,超过4000个用户。