in scripts/glue_script/run_redshift_benchmark.py [0:0]
def rs_con_pool(self):
try:
self.root.info('Begin to create {0} postgresql pool on:{1}.\n'.format(self.host, datetime.datetime.now()))
pool = PooledDB(
creator=psycopg2, # 使用链接数据库的模块mincached
maxconnections=450, # 连接池允许的最大连接数,0和None表示不限制连接数
mincached=10, # 初始化时,链接池中至少创建的空闲的链接,0表示不创建
maxcached=4, # 链接池中最多闲置的链接,0和None不限制
blocking=True, # 连接池中如果没有可用连接后,是否阻塞等待。True,等待;False,不等待然后报错
maxusage=None, # 一个链接最多被重复使用的次数,None表示无限制
setsession=[], # 开始会话前执行的命令列表。
host=self.host,
port=self.port,
user=self.user,
password=self.password,
database=self.dbname)
self._pool=pool
self.root.info('SUCCESS: create postgresql connection pool success.\n')
except Exception as e:
self.root.error('ERROR: create postgresql pool failed:%s\n'%e)
raise e