celery在prefork模式下应当如何处理数据库链接(psycopg2)?
问题描述
celery使用prefork模式(4进程),和psycopg2搭配使用,每次启动可以成功完成一个celery任务,在进行第二个任务时就会出现InterfaceError: cursor already closed
,请问应该如何处理。
自己尝试过哪些方法
在psycopg2文档中看到,这个库不应在forked process中使用。所以有点疑惑,是因为celery的prefork模式所以导致了问题的出现吗?那么我应当如何处理比较合适?是否需要在每个celery任务中新建一个数据库链接,做完了再关掉?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论