MCPcopy
hub / github.com/celery/celery / disconnect

Method disconnect

celery/utils/dispatch/signal.py:218–253  ·  view source on GitHub ↗

Disconnect receiver from sender for signal. If weak references are used, disconnect needn't be called. The receiver will be removed from dispatch automatically. Arguments: receiver (Callable): The registered receiver to disconnect. May be none if

(self, receiver=None, sender=None, weak=None,
                   dispatch_uid=None)

Source from the content-addressed store, hash-verified

216 return receiver
217
218 def disconnect(self, receiver=None, sender=None, weak=None,
219 dispatch_uid=None):
220 """Disconnect receiver from sender for signal.
221
222 If weak references are used, disconnect needn't be called.
223 The receiver will be removed from dispatch automatically.
224
225 Arguments:
226 receiver (Callable): The registered receiver to disconnect.
227 May be none if `dispatch_uid` is specified.
228
229 sender (Any): The registered sender to disconnect.
230
231 weak (bool): The weakref state to disconnect.
232
233 dispatch_uid (Hashable): The unique identifier of the receiver
234 to disconnect.
235 """
236 if weak is not None:
237 warnings.warn(
238 'Passing `weak` to disconnect has no effect.',
239 CDeprecationWarning, stacklevel=2)
240
241 lookup_key = _make_lookup_key(receiver, sender, dispatch_uid)
242
243 disconnected = False
244 with self.lock:
245 self._clear_dead_receivers()
246 for index in range(len(self.receivers)):
247 (r_key, _) = self.receivers[index]
248 if r_key == lookup_key:
249 disconnected = True
250 del self.receivers[index]
251 break
252 self.sender_receivers_cache.clear()
253 return disconnected
254
255 def has_listeners(self, sender=None):
256 return bool(self._live_receivers(sender))

Callers

nothing calls this directly

Calls 3

_clear_dead_receiversMethod · 0.95
_make_lookup_keyFunction · 0.85
clearMethod · 0.45

Tested by

no test coverage detected