@@ -308,7 +308,9 @@ class Pool:
308
308
'_init' , '_connect_args' , '_connect_kwargs' ,
309
309
'_working_addr' , '_working_config' , '_working_params' ,
310
310
'_holders' , '_initialized' , '_initializing' , '_closing' ,
311
- '_closed' , '_connection_class' , '_generation' )
311
+ '_closed' , '_connection_class' , '_generation' ,
312
+ '_setup' , '_max_queries' , '_max_inactive_connection_lifetime'
313
+ )
312
314
313
315
def __init__ (self , * connect_args ,
314
316
min_size ,
@@ -362,7 +364,7 @@ def __init__(self, *connect_args,
362
364
self ._holders = []
363
365
self ._initialized = False
364
366
self ._initializing = False
365
- self ._queue = asyncio . LifoQueue ( maxsize = self . _maxsize )
367
+ self ._queue = None
366
368
367
369
self ._working_addr = None
368
370
self ._working_config = None
@@ -377,15 +379,10 @@ def __init__(self, *connect_args,
377
379
self ._connect_args = connect_args
378
380
self ._connect_kwargs = connect_kwargs
379
381
380
- for _ in range (max_size ):
381
- ch = PoolConnectionHolder (
382
- self ,
383
- max_queries = max_queries ,
384
- max_inactive_time = max_inactive_connection_lifetime ,
385
- setup = setup )
386
-
387
- self ._holders .append (ch )
388
- self ._queue .put_nowait (ch )
382
+ self ._setup = setup
383
+ self ._max_queries = max_queries
384
+ self ._max_inactive_connection_lifetime = \
385
+ max_inactive_connection_lifetime
389
386
390
387
async def _async__init__ (self ):
391
388
if self ._initialized :
@@ -404,6 +401,17 @@ async def _async__init__(self):
404
401
self ._initialized = True
405
402
406
403
async def _initialize (self ):
404
+ self ._queue = asyncio .LifoQueue (maxsize = self ._maxsize )
405
+ for _ in range (self ._maxsize ):
406
+ ch = PoolConnectionHolder (
407
+ self ,
408
+ max_queries = self ._max_queries ,
409
+ max_inactive_time = self ._max_inactive_connection_lifetime ,
410
+ setup = self ._setup )
411
+
412
+ self ._holders .append (ch )
413
+ self ._queue .put_nowait (ch )
414
+
407
415
if self ._minsize :
408
416
# Since we use a LIFO queue, the first items in the queue will be
409
417
# the last ones in `self._holders`. We want to pre-connect the
0 commit comments