首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >APScheduler Jobstore Oracle在添加作业(add_job)后删除"OperationalError ORA-03114“

APScheduler Jobstore Oracle在添加作业(add_job)后删除"OperationalError ORA-03114“
EN

Stack Overflow用户
提问于 2020-02-04 12:36:11
回答 1查看 212关注 0票数 0

库版本: APScheduler-3.5.3 SQLAlchemy-1.3.4 cx_Oracle-7.1.3 python-2.7.14

"OperationalError('(cx_Oracle.OperationalError)启动(使用job_store)并成功地工作(您可以添加作业、作业存储可以正常工作,等等),但是,当超过24小时不活动(没有添加或修改新作业)时,添加新作业时会发生以下错误-- ORA-03114: not to BackgroundScheduler‘,“

代码确定:

代码语言:javascript
复制
job_store = SQLAlchemyJobStore(url=URL_JOBSTORE, tablename = TABLE_JOBSTORE)
_job_scheduler = BackgroundScheduler()
_job_scheduler.add_jobstore(job_store)
_job_scheduler.start()
_job_scheduler.add_job(...) #OK

代码错误:

代码语言:javascript
复制
job_store = SQLAlchemyJobStore(url=URL_JOBSTORE, tablename = TABLE_JOBSTORE)
_job_scheduler = BackgroundScheduler()
_job_scheduler.add_jobstore(job_store)
_job_scheduler.start()
#LONG TIME OPERATIONS 24 hours past
_job_scheduler.add_job(...) # drops OperationErrror exception

错误已满:

OperationalError:(cx_Oracle.OperationalError) ORA-03114:未连接到甲骨文\nSQL: INSERT INTO "jobrestore_PRE_CENTRE2_0" (id, next_run_time, job_state) VALUES (:id, :next_run_time, :job_state)\n‘

我想Jobstore已经失去联系了。因为如果您再次创建调度程序,它将正常工作。是否有任何方法将Jobstore重新连接到数据库?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-02-04 14:52:25

我建议您尝试将engine_options={‘job _ passing’:True}传递到作业存储区。这将防止由于数据库服务器关闭空闲连接而导致的任何错误。

job_store = SQLAlchemyJobStore(url=URL_JOBSTORE,tablename = TABLE_JOBSTORE,engine_options={‘pool_ping’:True})

https://github.com/agronholm/apscheduler/issues/419

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60057604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档