Я использовал pymysql и многопроцессорность.
Пожалуйста, обратитесь ниже код.
import os
from multiprocessing import Pool
import pymysql
class Test:
def __init__(self):
self.connection = pymysql.connect(host='host',
user='use',
password='pwd',
db='db',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
def print(self, args):
print("[Pid:{}] {}".format(os.getpid(), args))
return args
def run(self):
with Pool(processes=4) as p:
print(p.map(self.print, [1,2]))
if __name__ == '__main__':
test = Test()
test.run()
Я определил соединение mysql в __init__
для его повторного использования.
Но когда я его выполняю, выдают ошибки.
TypeError: cannot serialize '_io.BufferedReader' object
Question1.
- Если вы используете pymysql с многопроцессорной обработкой, следует ли мне создавать мульти-соединение и использовать его вместо повторного использования одного соединения?
Вопрос2.
- Почему выше произошла ошибка?
Спасибо.