В настоящее время я пытаюсь использовать многопроцессорную обработку для обработки большого результата, полученного после запроса psycopg2.
Я разбил результат на несколько списков по 100, а затем отправил их для многопроцессорной обработки.
КогдаТем не менее, я получаю следующую ошибку
TypeError: can't pickle psycopg2.extensions.connection objects
Вот мой запрос psycopg2:
def get_employees(self):
logging.info('POSTGRESQL QUERY: get_employees')
try:
self.cur = self.conn.cursor(cursor_factory=RealDictCursor)
self.cur.execute(
"SELECT ..."
)
employees = self.cur.fetchall()
except (Exception, psycopg2.Error) as error:
print("Error while connecting to PostgreSQL", error)
finally:
if self.conn:
return employees
Вот как я делаю многопроцессорность в этом случае:
self.db = database.ConnectionClass()
self.employees = self.db.get_employees()
pool = Pool()
for i in range(0, len(self.employees), 100):
pool.apply_async(self.other_function, employees_sublists)
Спасибо,