python - 启动应用程序一段时间后,nginx、uwsgi、python 出现永久 mysql 错误

标签 python mysql uwsgi

我使用 nginx 作为前端服务器,使用 uwsgi 作为 python 应用程序。大约一天有一次我的应用程序开始下降。在日志中我可以看到不同的 mysql 错误。例如:

sqlalchemy.exc.OperationalError: (OperationalError) (2006, 'MySQL server has gone away')

sqlalchemy.exc.OperationalError: (OperationalError) (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)") None None

此外,还有一些关于无法找到列的行列...的信息。也许更有趣:

--- no python application found, check your startup logs for errors ---

有什么帮助 - 我正在终止我的 uwsgi 进程并再次运行它。有趣的是其他应用程序(他们也使用 mysql)都可以并继续工作。

如果我只是杀死 fork ,什么也不会发生。我必须杀死主进程。

我的 uwsgi 配置是:

module = stulyev
callable = app
pp = /home/krasulya/apps/stulyev.net
logto = /var/log/stulyev.net.log
touch-reload = /tmp/stulyev.net.sock
socket = /tmp/stulyev.net.sock
uid = krasulya
gid = www-data
daemonize = /var/log/stulyev.net.daemon.log
reload-on-exception = true
harakiri = 30
max-requests = 10000
harakiri-verbose = 1
buffer-size = 65535

我能做什么?谢谢。

最佳答案

不要在master中打开数据库连接。并非所有 sqlalchemy 适配器都支持它。每个worker打开一次连接,或者将lazy-apps = true添加到uWSGI以在每个 fork 时加载整个应用程序:http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html

关于python - 启动应用程序一段时间后,nginx、uwsgi、python 出现永久 mysql 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25904817/

相关文章:

php - 如果列中的所有行都为 true,则返回 true

python - Django 迁移产生奇怪的错误

python - Nginx 不为 Django 提供静态文件

python - 在 uwsgi 应用程序中启动 APScheduler 最终会为每个 worker 分配一个调度程序吗?

uwsgi - uwsgi中的worker和process之间的区别

python - 解析带有标签的Python文本文件

python - 如何将 Tensorflow 数据集转换为二维 numpy 数组

python - .xlsx 和 xls(最新版本)使用 python 到 pdf

python - 获取python字典列表中某个键的所有值

MYSQL关于变量