MCPcopy
hub / github.com/celery/celery / signature_from_request

Method signature_from_request

celery/app/task.py:655–677  ·  view source on GitHub ↗
(self, request=None, args=None, kwargs=None,
                               queue=None, **extra_options)

Source from the content-addressed store, hash-verified

653 """
654
655 def signature_from_request(self, request=None, args=None, kwargs=None,
656 queue=None, **extra_options):
657 request = self.request if request is None else request
658 args = request.args if args is None else args
659 kwargs = request.kwargs if kwargs is None else kwargs
660 options = {**request.as_execution_options(), **extra_options}
661 delivery_info = request.delivery_info or {}
662 priority = delivery_info.get('priority')
663 if priority is not None:
664 options['priority'] = priority
665 if queue:
666 options['queue'] = queue
667 else:
668 exchange = delivery_info.get('exchange')
669 routing_key = delivery_info.get('routing_key')
670 if exchange == '' and routing_key:
671 # sent to anon-exchange
672 options['queue'] = routing_key
673 else:
674 options.update(delivery_info)
675 return self.signature(
676 args, kwargs, options, type=self, **extra_options
677 )
678 subtask_from_request = signature_from_request # XXX compat
679
680 def retry(self, args=None, kwargs=None, exc=None, throw=True,

Calls 4

signatureMethod · 0.95
as_execution_optionsMethod · 0.80
getMethod · 0.45
updateMethod · 0.45