I use cron tasks to send mails to my app users every saturday at 9:00. But if there is a lot of users, is it a problem? If it is, what can I do to improve my code. Can I specify a cron task like "from 9:00 to 23:00" in order to be sure all users receive email? I heard about Task Queues but I don't know how to use it. Do I really need it?
EDIT
I finally managed to make Task Queue work with this code.
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)