微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – InternalError:当前事务被中止,命令被忽略,直到事务块结束

我在使用多处理库的子进程中进行数据库调用时遇到此错误.

访问:Pastie

InternalError: current transaction is aborted, commands ignored until
end of transaction block

这是一个Postgre数据库,在web.py中使用psycopg2驱动程序.

但是,如果我使用threading.Thread而不是multiprocessing.Process我不会收到此错误.
知道如何解决这个问题吗?

解决方法:

多处理通过分叉当前进程(在UNIX系统上)工作.如果您有现有的数据库连接,这将使两个进程(当前的新进程和新进程)保持相同的数据库连接.试图从两者中使用它是不好的.而是在子进程中创建新的数据库连接.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐