利用ThreadPoolExecutor和DBUtils.PooledDB,通过线程池并发写入数据库,解决 pymysql.err.InterfaceError: (0, ‘’)等问题
pip install DBUtils
pip install pymysql
import pymysql
from concurrent.futures import ThreadPoolExecutor, as_completed
from DBUtils.PooledDB import PooledDB
pool = PooledDB(creator=pymysql,
maxconnections=0, # 连接池允许的最大连接数,0和None表示不限制连接数
mincached=4, # 初始化时,链接池中至少创建的空闲的链接,0表示不创建
maxcached=0, # 链接池中最多闲置的链接,0和None不限制
maxusage=1, # 一个链接最多被重复使用的次数,None表示无限制
blocking=True