MCPcopy
hub / github.com/celery/celery / destroy_queues

Method destroy_queues

celery/concurrency/asynpool.py:1314–1339  ·  view source on GitHub ↗

Destroy queues that can no longer be used. This way they can be replaced by new usable sockets.

(self, queues, proc)

Source from the content-addressed store, hash-verified

1312 assert len(self._queues) == before
1313
1314 def destroy_queues(self, queues, proc):
1315 """Destroy queues that can no longer be used.
1316
1317 This way they can be replaced by new usable sockets.
1318 """
1319 assert not proc._is_alive()
1320 self._waiting_to_start.discard(proc)
1321 removed = 1
1322 try:
1323 self._queues.pop(queues)
1324 except KeyError:
1325 removed = 0
1326 try:
1327 self.on_inqueue_close(queues[0]._writer.fileno(), proc)
1328 except OSError:
1329 pass
1330 for queue in queues:
1331 if queue:
1332 for sock in (queue._reader, queue._writer):
1333 if not sock.closed:
1334 self.hub_remove(sock)
1335 try:
1336 sock.close()
1337 except OSError:
1338 pass
1339 return removed
1340
1341 def _create_payload(self, type_, args,
1342 dumps=_pickle.dumps, pack=pack,

Callers 1

on_partial_readMethod · 0.95

Calls 4

on_inqueue_closeMethod · 0.95
discardMethod · 0.45
popMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected