def run(self): while True: logging.debug("Sending emails...") try: session = Session() self.send_emails(session, datetime.utcnow()) session.commit() session.close() except OperationalError: Session.configure( bind=get_db_engine(get_database_url(self.settings))) logging.critical("Failed to connect to database.") sleep(60)
def session(request, tmpdir): db_path = tmpdir.join("grouper.sqlite") db_engine = get_db_engine("sqlite:///%s" % db_path) models.Model.metadata.create_all(db_engine) Session.configure(bind=db_engine) session = Session() def fin(): session.close() # Useful if testing against MySQL #models.Model.metadata.drop_all(db_engine) request.addfinalizer(fin) return session