本文整理汇总了Python中pyon.net.endpoint.SubscriberEndpointUnit类的典型用法代码示例。如果您正苦于以下问题:Python SubscriberEndpointUnit类的具体用法?Python SubscriberEndpointUnit怎么用?Python SubscriberEndpointUnit使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SubscriberEndpointUnit类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _make_routing_call
def _make_routing_call(self, call, timeout, *op_args, **op_kwargs):
if not self._routing_call:
return SubscriberEndpointUnit._make_routing_call(self, call, timeout, *op_args, **op_kwargs)
ctx = self._process.get_context() # pull onto the locals here, for debuggability with manhole
ar = self._routing_call(call, ctx, *op_args, **op_kwargs)
return ar.get() # timeout=timeout) # REMOVED TIMEOUT
示例2: _make_routing_call
def _make_routing_call(self, call, timeout, *op_args, **op_kwargs):
if not self._routing_call:
return SubscriberEndpointUnit._make_routing_call(self, call, timeout, *op_args, **op_kwargs)
ctx = self._process.get_context()
ar = self._routing_call(call, ctx, *op_args, **op_kwargs)
return ar.get() # timeout=timeout) # REMOVED TIMEOUT
示例3: _build_header
def _build_header(self, raw_msg, raw_headers):
"""
Override to direct the calls in _build_header - first the Subscriber, then the Process mixin.
"""
header1 = SubscriberEndpointUnit._build_header(self, raw_msg, raw_headers)
header2 = ProcessEndpointUnitMixin._build_header(self, raw_msg, raw_headers)
header1.update(header2)
return header1
示例4: _message_received
def _message_received(self, msg, headers):
"""
Message received override.
Sets the process' context here to be picked up by subsequent calls out by this service to other services, or replies.
"""
######
###### THIS IS WHERE THE THREAD LOCAL HEADERS CONTEXT IS SET ######
######
# With the property _routing_call set, as is the case 95% of the time in the Process-level endpoints,
# we have to set the call context from the ION process' calling greenlet, as context is greenlet-specific.
# This is done in the _make_routing_call override here, passing it the context to be set.
# See also IonProcessThread._control_flow.
with self._process.push_context(headers):
return SubscriberEndpointUnit._message_received(self, msg, headers)
示例5: __init__
def __init__(self, process=None, callback=None, routing_call=None, **kwargs):
ProcessEndpointUnitMixin.__init__(self, process=process)
SubscriberEndpointUnit.__init__(self, callback=callback, **kwargs)
self._routing_call = routing_call
示例6: _make_routing_call
def _make_routing_call(self, call, *op_args, **op_kwargs):
if not self._routing_call:
return SubscriberEndpointUnit._make_routing_call(self, call, *op_args, **op_kwargs)
ar = self._routing_call(call, self._process.get_context(), *op_args, **op_kwargs)
return ar.get() # @TODO: timeout?