启动应用程序一段时间后,uwsgi出现两个MySql错误

729

我在我的python应用程序中使用uwsgi。我是uwsgi的新手。当我想在后台运行uwsgi时,请执行以下操作:

uwsgi --http 127.0.0.1:1088 --wsgi-file app.py --callable app --master --processes 1 --workers 1 --threads 1 --daemonize=logs.txt

然后过了一段时间(例如10分钟)之后,当我尝试在我的在线网站上登录我的测试帐户时,我总是得到500 internal error在logs.txt文件中,我发现此异常:

OperationalError("(_mysql_exceptions.OperationalError) (2006, 'MySQL server has gone away')")

或有时这个

StatementError("(sqlalchemy.exc.InvalidRequestError) Can't reconnect until invalid transaction is rolled back",)

我做了什么:

  • 我发现--lazy-apps--lazy应该解决问题,但没有解决。这是我的习惯lazy-apps

    uwsgi --http 127.0.0.1:1065 --wsgi-file app.py --callable app --master --lazy-apps --processes 1 --workers 1 --threads 1 --daemonize=logs.txt

  • 然后我尝试将其设置POOL_RECYCLE为小于5m(但仍然会出现问题):

    app.config['SQLALCHEMY_POOL_RECYCLE'] = 285

  • 我读到应该禁用池化功能,NullPool但老实说我不知道​​该怎么做。这里的链接是配置键的列表,但没有SQLALCHEMY_POOLCLASS

下面是我的代码。我该如何解决我的问题?谢谢

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://brrr:brrr@localhost/grrr'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=False
app.config['SQLALCHEMY_POOL_RECYCLE'] = 285

db = SQLAlchemy(app)
bcrypt = Bcrypt(app)
from models import *
app.secret_key = 'super secret key'

login_manager = LoginManager()
login_manager.init_app(app)

from models import *
login_manager.login_view = "login"

@login_manager.user_loader
def load_user(user_id):
    return User.query.filter(User.id == int(user_id)).first()

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/success')
def success():
    return render_template('success.html')

@app.route('/login', methods=['GET','POST'])
def login():
    error = None
    if request.method == 'POST':
        user = ser.query.filter_by(username=request.form['username']).first()
    if user is not None:
        user_pass = request.form['password']
        if bcrypt.check_password_hash(user.password, user_pass):
            login_user(user)
            return redirect(url_for('success'))
        else:
            error = 'error'
    else:
        error = 'error'
    return render_template('login.html', error=error)

@app.route('/signup', methods=['GET','POST'])
def signup():
    user_name_error = None
    email_error = None
    if request.method == 'POST':
        user = User(
        username=request.form['username'],
        password=request.form['password']
        )
        db.session.add(user)
        db.session.commit()
        login_user(user)
        return redirect(url_for('success'))
    return render_template('signup.html')

@app.route('/logout')
def logout():
    logout_user()
    return redirect(url_for('index'))

if __name__ == '__main__':
    app.run()
729

我做了同样的事情,就像PizzaPleb这里链接一样,所以我这样重新初始化我的数据库

db.init_app(app)

我贴在这里

...
from models import *
login_manager.login_view = "login"
**db.init_app(app)**
...

我摆脱了那个例外。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从启动应用程序一段时间后,ningx,uwsgi,python永久mysql错误

来自分类Dev

使用 Rscript 启动的 Shiny 应用程序和 CMD 一段时间后不可用

来自分类Dev

网站在启动一段时间后崩溃,端口 80 出现错误 EADDRINUSE

来自分类Dev

两个&&有一段时间的情况?

来自分类Dev

一段时间后动画在iOS应用程序中消失

来自分类Dev

Java fx应用程序在一段时间后自动崩溃

来自分类Dev

一段时间后锁定React Native应用程序

来自分类Dev

Azure API应用程序示例工作了一段时间后便消失了

来自分类Dev

基于Qt的应用程序在一段时间后被破坏

来自分类Dev

一段时间后如何使应用程序最小化?

来自分类Dev

Heroku 上的 Django 应用程序会在一段时间后删除对象

来自分类Dev

Node.js 应用程序在循环运行一段时间后停止

来自分类Dev

网络连接不良时,iOS应用程序在启动时会挂起一段时间

来自分类Dev

“ TypeError:res.sendStatus不是一个函数”为什么一段时间后出现此错误?

来自分类Dev

一段时间后,Node JS + Socket.io应用程序停止接收事件

来自分类Dev

用户在应用程序中处于非活动状态一段时间后,Ionic 3重定向?

来自分类Dev

一段时间后,Node JS + Socket.io应用程序停止接收事件

来自分类Dev

Skype For Business Online UCWA 应用程序服务器在一段时间后停止工作

来自分类Dev

经过一段时间的机器学习训练后运行大型程序时出现分段错误

来自分类Dev

一段时间后FileSystemWatcher不会启动

来自分类Dev

一段时间后如何使程序在终端中启动

来自分类Dev

为什么即使关闭应用程序后,我的应用程序进程仍在任务管理器中存在一段时间?

来自分类Dev

获取org.hibernate.exception.JDBCConnectionException:在应用程序正常工作一段时间后无法在Spring应用程序中执行查询

来自分类Dev

禁用按钮一段时间,即使退出应用程序也是如此

来自分类Dev

为什么一段时间不使用Shiny应用程序会断开连接?

来自分类Dev

应用程序如何在一段时间内记住身份验证?

来自分类Dev

在 nodejs 应用程序中每隔一段时间更新数据

来自分类Dev

可以在flutter中更改应用程序的背景图像一段时间吗?

来自分类Dev

一段时间后隐藏项目[PHP / MySQL]

Related 相关文章

  1. 1

    从启动应用程序一段时间后,ningx,uwsgi,python永久mysql错误

  2. 2

    使用 Rscript 启动的 Shiny 应用程序和 CMD 一段时间后不可用

  3. 3

    网站在启动一段时间后崩溃,端口 80 出现错误 EADDRINUSE

  4. 4

    两个&&有一段时间的情况?

  5. 5

    一段时间后动画在iOS应用程序中消失

  6. 6

    Java fx应用程序在一段时间后自动崩溃

  7. 7

    一段时间后锁定React Native应用程序

  8. 8

    Azure API应用程序示例工作了一段时间后便消失了

  9. 9

    基于Qt的应用程序在一段时间后被破坏

  10. 10

    一段时间后如何使应用程序最小化?

  11. 11

    Heroku 上的 Django 应用程序会在一段时间后删除对象

  12. 12

    Node.js 应用程序在循环运行一段时间后停止

  13. 13

    网络连接不良时,iOS应用程序在启动时会挂起一段时间

  14. 14

    “ TypeError:res.sendStatus不是一个函数”为什么一段时间后出现此错误?

  15. 15

    一段时间后,Node JS + Socket.io应用程序停止接收事件

  16. 16

    用户在应用程序中处于非活动状态一段时间后,Ionic 3重定向?

  17. 17

    一段时间后,Node JS + Socket.io应用程序停止接收事件

  18. 18

    Skype For Business Online UCWA 应用程序服务器在一段时间后停止工作

  19. 19

    经过一段时间的机器学习训练后运行大型程序时出现分段错误

  20. 20

    一段时间后FileSystemWatcher不会启动

  21. 21

    一段时间后如何使程序在终端中启动

  22. 22

    为什么即使关闭应用程序后,我的应用程序进程仍在任务管理器中存在一段时间?

  23. 23

    获取org.hibernate.exception.JDBCConnectionException:在应用程序正常工作一段时间后无法在Spring应用程序中执行查询

  24. 24

    禁用按钮一段时间,即使退出应用程序也是如此

  25. 25

    为什么一段时间不使用Shiny应用程序会断开连接?

  26. 26

    应用程序如何在一段时间内记住身份验证?

  27. 27

    在 nodejs 应用程序中每隔一段时间更新数据

  28. 28

    可以在flutter中更改应用程序的背景图像一段时间吗?

  29. 29

    一段时间后隐藏项目[PHP / MySQL]

热门标签

归档