Tornado加上sqlalchemy在SAE上出现错误,tornadosqlalchemy,Tornado加上sql
Tornado加上sqlalchemy在SAE上出现错误,tornadosqlalchemy,Tornado加上sql
Tornado加上sqlalchemy在SAE上出现错误
设计了一个定时任务,执行时间大概在30秒,在邮件收取的环节耗时较长,从日志里看大概每半小时就会出现一次
MySQL server has gone away的报错。
已经按照谷歌到的建议,把sqlalchemy的pool_recycle参数重设了。
engine = create_engine(db_config, pool_recycle=5, pool_size=20)
附上我的代码:
class ApplyReplyHandler(BaseHandler): def get(self): try: reply = self.session.query(func.max(Reply.mail_id).label('max_mail_id')).one() offset = reply.max_mail_id if reply.max_mail_id else 0 for mail_id, mail_addr, mail_subject, mail_body in receive_mail(offset): m = search(r'\[##(.+)##\]', mail_subject) if not m: continue apply_secret = m.group(1) related_apply = self.session.query(Apply).filter(Apply.secret_key == apply_secret).filter( Apply.mail_addr == mail_addr).first() if not related_apply: continue reply = Reply(apply_id=related_apply.id, mail_id=mail_id, mail_subject=mail_subject, mail_body=mail_body) self.session.add(reply) related_apply.status = 4 self.session.commit() self.write('success') except Exception, e: logging.exception(e) self.write('failed')
BaseHandler是这样初始化和关闭MySQL连接的:
class BaseHandler(tornado.web.RequestHandler): def initialize(self): self.session = DB_Session() def on_finish(self): self.session.close()
编橙之家文章,
相关内容
- pytesser怎么样识别彩色图片,,linux上装了一天终于
- python db.session.commit()的时候出现FlushError错误,,python d
- 七牛下载链接出现{"error":"download token auth failed"
- 相同硬件不同编程语言,它们的区别是什么呢?,硬件
- python里面为什么系统的时区是东八,但是存数据还是存
- django1.8 出现NoReverseMatch错误怎么解决?,,django1.8 出现
- django读取日志并写入db数据库中,怎么样用页面展示出
- python3 类型Type str doesn't support the buffer API?,python3buffe
- Tornado里面self.write("hello")出现"Broken pipe Error"怎么
- requests爬取代理网站ip验证,登陆ip网站查询ip不变的原
评论关闭