我有一个多线程的python应用程序,当我增加线程数以同时处理更多的数据时,我会得到这个错误
psycopg2.ProgrammingError: no results to fetch
有什么建议可能导致这个问题吗?它的工作罚款较少的线程数。
nimxete21#
我找到了答案的答案我使用相同的游标来执行查询并获取所有线程的数据,因此当线程数量增加时,在执行查询和获取记录之间,游标会被另一个查询覆盖,另一个线程在事务中间覆盖游标,现在我创建了一个新的光标
newCursor = self.connection.cursor(cursor_factory=RealDictCursor)
一切正常
1条答案
按热度按时间nimxete21#
我找到了答案的答案
我使用相同的游标来执行查询并获取所有线程的数据,因此当线程数量增加时,在执行查询和获取记录之间,游标会被另一个查询覆盖,
另一个线程在事务中间覆盖游标,
现在我创建了一个新的光标
一切正常