Skip to content

Commit 396b90e

Browse files
committedAug 30, 2011
Change c25571b broke pools
1 parent 4cc6a7a commit 396b90e

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed
 

‎kombu/connection.py

+13-7
Original file line numberDiff line numberDiff line change
@@ -731,13 +731,18 @@ def acquire_channel(self, block=False):
731731
return PoolChannelContext(self, block)
732732

733733
def setup(self):
734-
if self.preload:
735-
for _ in xrange(self.preload):
736-
conn = self.new()
737-
conn.connect()
734+
if self.limit:
735+
for i in xrange(self.limit):
736+
if i < self.preload:
737+
conn = self.new()
738+
conn.connect()
739+
else:
740+
conn = self.new
738741
self._resource.put_nowait(conn)
739742

740743
def prepare(self, resource):
744+
if callable(resource):
745+
resource = resource()
741746
resource._debug("acquired")
742747
return resource
743748

@@ -755,9 +760,10 @@ def new(self):
755760

756761
def setup(self):
757762
channel = self.new()
758-
if self.preload:
759-
for i in xrange(self.preload):
760-
self._resource.put_nowait(channel())
763+
if self.limit:
764+
for i in xrange(self.limit):
765+
self._resource.put_nowait(
766+
i < self.preload and channel() or channel)
761767

762768
def prepare(self, channel):
763769
if callable(channel):

‎kombu/pools.py

+5
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ def create_producer(self):
2020
def new(self):
2121
return lambda: self.create_producer()
2222

23+
def setup(self):
24+
if self.limit:
25+
for _ in xrange(self.limit):
26+
self._resource.put_nowait(self.new())
27+
2328
def prepare(self, p):
2429
if callable(p):
2530
p = p()

0 commit comments

Comments
 (0)
Please sign in to comment.