MCPcopy Create free account
hub / github.com/mongodb/mongo-python-driver / update_pool

Method update_pool

pymongo/asynchronous/topology.py:701–716  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

699 return self._description.readable_servers
700
701 async def update_pool(self) -> None:
702 # Remove any stale sockets and add new sockets if pool is too small.
703 servers = []
704 async with self._lock:
705 # Only update pools for data-bearing servers.
706 for sd in self.data_bearing_servers():
707 server = self._servers[sd.address]
708 servers.append((server, server.pool.gen.get_overall()))
709
710 for server, generation in servers:
711 try:
712 await server.pool.remove_stale_sockets(generation)
713 except PyMongoError as exc:
714 ctx = _ErrorContext(exc, 0, generation, False, None)
715 await self.handle_error(server.description.address, ctx)
716 raise
717
718 async def close(self) -> None:
719 """Clear pools and terminate monitors. Topology does not reopen on

Callers 1

Calls 5

data_bearing_serversMethod · 0.95
handle_errorMethod · 0.95
_ErrorContextClass · 0.70
get_overallMethod · 0.45
remove_stale_socketsMethod · 0.45

Tested by

no test coverage detected