python—当使用celery 时,sqlalchmey总是遇到数据库连接问题

3vpjnl9f  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(481)

在我们的开发环境中,我们开始探索celery 的用途。问题是当一个任务启动时,sqlalchemy通常很难连接到我们的amazon/awsrds示例。这往往发生在一段时间后,无论我尝试了什么设置,但很难说到底多久。我们的数据库是aws rds上生产数据库的快照,具有所有相同的参数/设置。
错误包括。。。 OperationalError: (_mysql_exceptions.OperationalError) (2013, 'Lost connection to MySQL server during query')...(Background on this error at: http://sqlalche.me/e/e3q8) …或者。。。

OperationalErrorOperation : MySQL Connection not available.

我们的引擎。。。

engine = sa.create_engine(SA_ENGINE, echo=False, pool_recycle=90, pool_pre_ping=True)

(我试过很多种 pool_recycle )
在数据库方面,我更改了以下参数(尽管有些参数非常极端,但我尝试了各种各样的变化)。。。

interactive_timeout = 28800
wait_timeout = 28800
max_heap_table_size = 32000000000

我尝试 Package 每个查询以重新连接,但也没有成功。注意,这段代码是从一个类似的主题stackoverflow答案。。。

def db_execute(conn, query):
    try:
        result = conn.execute(query)
        print(result)
    except sa.exc.OperationalError:  # may need more exceptions here (or trap all)
        conn = engine.connect()  # replace your connection
        result = conn.execute(query)  # and retry
    return result

这已经是一个三天的车轮旋转和我卡住了。。。我希望外面的人有一些见解或指导?
更新
我已经从公式中完全删除了celery ,现在它仍然随机退出,甚至在同一个函数流中的两个查询之间。在生产服务器上,软件现在几乎完全相同。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题