代码之家  ›  专栏  ›  技术社区  ›  Ak47

向我的python-sqlite会话发出多个回滚,导致我的docker容器崩溃?如何避免这种崩溃?

  •  0
  • Ak47  · 技术社区  · 1 年前

    我正在使用这个docker容器来运行我的烧瓶网络应用程序,FROM python:3.8.16 。在我的烧瓶应用程序中,我有一个代码 @after_request 函数中,每当任何rest API返回500响应代码时,我都会回滚sqlite会话。前端有时会并行请求多个rest API,如果它们都发送500响应,则容器会因我发出多个回滚而发生简单崩溃。如何避免这个容器崩溃。

    会话是使用sqlite3的sessionmaker创建的

    from sqlalchemy.orm import sessionmaker
    session = sessionmaker(self.db)
    

    包含会话回滚的请求之后

    @app.after_request
    def end_request(response):
        if response.status_code not in [200,201,202]:
            session.rollback()
    
    0 回复  |  直到 1 年前