V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
chizuo
V2EX  ›  问与答

萌新发问,为啥我总是出现 internal service error??

  •  1
     
  •   chizuo · 2020-01-15 17:49:58 +08:00 · 962 次点击
    这是一个创建于 1562 天前的主题,其中的信息可能已经有所发展或是发生改变。

    环境: 线上 ubuntu18.04+python3.7+Flask+Jinja2+Mysql+nginx+uwsgi,阿里云学生机 1C2G

    就是一个小论坛,涉及发帖子、帖子(包含评论、点赞)展示,一共帖子加起来不到 100 条。首页展示默认分页展示 10 条内容。

    在线下自己笔记本上测试(无 nginx+mysql ),怎么点,疯狂点都没有崩过。

    线上一部署,随随便便点几下,就报错 internal service error。。

    不知道咋办了,自己非常小白,有没有大佬可以给个方向,点名疑惑。

    谢谢大家!提前祝大家新年快乐!

    3 条回复    2020-01-16 17:10:17 +08:00
    chizuo
        1
    chizuo  
    OP
       2020-01-15 19:14:51 +08:00
    看了下日志全部报的是 Traceback (most recent call last):

    "Can't reconnect until invalid "
    sqlalchemy.exc.InvalidRequestError: Can't reconnect until invalid transaction is rolled back

    这种错误,看了下阿里云的检测,发现磁盘经常 100%爆炸,这阿里云的磁盘也太弱了吧?

    难道只能升级配置,还是怎么样,求大神指点一下。。我哭了
    billlee
        2
    billlee  
       2020-01-15 22:23:36 +08:00
    你的数据库事务没有正确释放,使用数据库的正确姿势

    with closing(Session()) as session:
       try:
        # 业务逻辑
         session.commit()
       except Exception:
         session.rollback()
    chizuo
        3
    chizuo  
    OP
       2020-01-16 17:10:17 +08:00
    @billlee emmmm,我用的是 Flask-Sqlalchemy,介绍写的是 auto-close 啊。。不过还是谢谢啦!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1575 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:08 · PVG 01:08 · LAX 10:08 · JFK 13:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.