注册
python+celery+sqlalchemy+dm8
技术分享/ 文章详情 /

python+celery+sqlalchemy+dm8

love forever 2025/09/05 22 0 0

连接池配置:


ENGINE_WRITE = create_engine(ENGINE_WRITE_STR, pool_size=50, pool_recycle=400, pool_pre_ping=True, pool_timeout=30,
                             echo_pool=True, echo=False, convert_unicode=True,connect_args={'schema':DB_NAME_MYSQL,'local_code':1,'connection_timeout':3600})
WRITE_SESSION_FACTORY = sessionmaker(class_=TracingSession, bind=ENGINE_WRITE, expire_on_commit=False)
DB_WRITE_SESSION = scoped_session(WRITE_SESSION_FACTORY)

celery可以启动,刚开始运行还可以,后续就当运行时间超过pool_recycle设置的值时worker就一直挂掉,报错信息如下:

  File "/usr/local/bin/python3/lib/python3.7/site-packages/billiard/pool.py", line 1267, in mark_as_worker_lost
    human_status(exitcode), job._job),
billiard.exceptions.WorkerLostError: Worker exited prematurely: signal 8 (SIGFPE) Job: 5.

sqlacharm=1.3.x dmpython=2.5.22 sqlalchemy-dm = 1.1.10
celery=4.4.7
如果达梦数据库改为mysql就没有问题。不知道这个时什么原因,大家帮忙分析下。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服