我使用 cron 任务在每个星期六 9:00 向我的应用程序用户发送邮件。但是如果有很多用户,这会不会有问题?如果是,我能做些什么来改进我的代码。我可以指定一个 cron 任务,例如“从 9:00 到 23:00”,以确保所有用户都能收到电子邮件吗?我听说过任务队列,但我不知道如何使用它。我真的需要吗?
编辑
我终于设法使任务队列使用此代码。
class SendMailHandler(webapp.RequestHandler):
def get(self):
members = Members.all()
for member in members:
taskqueue.add(url='/send', params={'sender_address':sender_address,
'user_address':user_address,
'subject':subject,
'html':html})
class SendMail(webapp.RequestHandler):
def post(self):
sender_address = self.request.get('sender_address')
user_address = self.request.get('user_address')
subject = self.request.get('subject')
html = self.request.get('html')
mail.send_mail(sender=sender_address, to=user_address, subject=subject, body='', html=html)
application = webapp.WSGIApplication([('/sendmail', SendMailHandler),
('/send', SendMail)], debug=True)