I've accidentally posted this twice. Please have a look at the other thread: https://groups.google.com/forum/?fromgroups#!topic/web2py/u5R-vGcP580%5B1-25%5D I answered your question there (emails are added from within the application).
On Sunday, 12 August 2012 06:17:15 UTC+12, Anthony wrote: > > How are emails added to the database -- does that happen within the > application, or also in a script? > > On Saturday, August 11, 2012 12:55:40 AM UTC-4, Florian Letsch wrote: >> >> *My first post somehow didn't make it to the group, I don't know where >> it got lost. Sorry if I submit this twice, I have never participated in a >> news group before.* >> >> I am trying to set up a background queue for sending email as described >> in the web2py book. >> http://web2py.com/books/default/chapter/29/8#Sending-messages-using-a-background-task >> >> However, emails are only sent when they have been in the database before >> starting the script. Emails I add to the database when the queue is running >> do not get picked up for some reason. I got it to work by adding an >> additional db.commit() before the select() in every loop run. I assume this >> should not be needed. Does anyone have an idea why this is not working >> without that additional commit? >> >> import time >> while True: >> db.commit() # not working without this line >> rows = db(db.queue.status=='pending').select() >> for row in rows: >> if mail.send(to=row.email, >> subject=row.subject, >> message=row.message): >> row.update_record(status='sent') >> else: >> row.update_record(status='failed') >> db.commit() >> time.sleep(60) # check every minute >> >> >> --

