什么可能导致“在查询期间丢失与MySQL服务器的连接”?

时间:2017-09-04 15:37:24

标签: docker flask-sqlalchemy

我有一个使用<input type="file" onchange="getBaseUrl()"> function getBaseUrl () { var file = document.querySelector('input[type=file]')['files'][0]; var reader = new FileReader(); var baseString; reader.onloadend = function () { baseString = reader.result; }; console.log(baseString); } 和MySQL数据库的应用程序。

我的代码类似于以下内容:

flask-sqlalchemy

当我直接执行代码时,它可以工作。当我在Docker容器中执行它时,我得到:

db = SQLAlchemy()

my_object = models.Foobar(foo=foo, bar=bar)
db.session.add(my_object)
db.session.commit()

# identifier = Do something that requires the object to be in the db. Needs ~1s.
# The code here uses from multiprocessing import Process and the db

# Update my_object
my_object.foo = identifier
db.session.commit()

full traceback似乎没有提供更多有用的信息。

这个错误的常见原因似乎是OperationalError: (_mysql_exceptions.OperationalError) (2013, 'Lost connection to MySQL server during query') ,但我想默认SQLALCHEMY_POOL_RECYCLE(2小时)没问题?

那么可能是什么问题,我该如何解决?

(我猜它与使用数据库的新流程有关)

我用的是什么

flask-sqlachemy

1 个答案:

答案 0 :(得分:0)

尝试在运行docker之后等待10秒或更长时间。在使用docker和mysql的单元测试中,我遇到了类似的问题,可能需要花费几秒钟来完成初始化,因此在使用sqlalchemy连接mysql之前,我要睡10秒钟。