连接池配置:
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就没有问题。不知道这个时什么原因,大家帮忙分析下。
文章
阅读量
获赞