equal
deleted
inserted
replaced
157 self._queue = None |
157 self._queue = None |
158 self._source = source |
158 self._source = source |
159 super(_CnxSetPool, self).__init__() |
159 super(_CnxSetPool, self).__init__() |
160 |
160 |
161 def qsize(self): |
161 def qsize(self): |
162 q = self._queue |
162 if self._queue is None: |
163 if q is None: |
|
164 return None |
163 return None |
165 return q.qsize() |
164 return self._queue.qsize() |
166 |
165 |
167 def get(self): |
166 def get(self): |
168 q = self._queue |
167 if self._queue is None: |
169 if q is None: |
|
170 return self._source.wrapped_connection() |
168 return self._source.wrapped_connection() |
171 try: |
169 try: |
172 return self._queue.get(True, timeout=5) |
170 return self._queue.get(True, timeout=5) |
173 except queue.Empty: |
171 except queue.Empty: |
174 raise Exception('no connections set available after 5 secs, probably either a ' |
172 raise Exception('no connections set available after 5 secs, probably either a ' |
176 'connections) or too much load on the server (in ' |
174 'connections) or too much load on the server (in ' |
177 'which case you can try to set a bigger ' |
175 'which case you can try to set a bigger ' |
178 'connections pool size)') |
176 'connections pool size)') |
179 |
177 |
180 def release(self, cnxset): |
178 def release(self, cnxset): |
181 q = self._queue |
179 if self._queue is None: |
182 if q is None: |
|
183 cnxset.close(True) |
180 cnxset.close(True) |
184 else: |
181 else: |
185 self._queue.put_nowait(cnxset) |
182 self._queue.put_nowait(cnxset) |
186 |
183 |
187 def __iter__(self): |
184 def __iter__(self): |
188 for cnxset in self._cnxsets: |
185 for cnxset in self._cnxsets: |
189 yield cnxset |
186 yield cnxset |
190 |
187 |
191 def close(self): |
188 def close(self): |
192 q = self._queue |
189 if self._queue is not None: |
193 if q is not None: |
190 while not self._queue.empty(): |
194 while not q.empty(): |
191 cnxset = self._queue.get_nowait() |
195 cnxset = q.get_nowait() |
|
196 try: |
192 try: |
197 cnxset.close(True) |
193 cnxset.close(True) |
198 except Exception: |
194 except Exception: |
199 self.exception('error while closing %s' % cnxset) |
195 self.exception('error while closing %s' % cnxset) |
200 |
196 |