MCPcopy Index your code
hub / github.com/apache/dubbo-python2 / _register_consumer

Method _register_consumer

dubbo/client.py:216–249  ·  view source on GitHub ↗

把本机注册到对应的interface的consumer上去 :param providers: :return:

(self, providers)

Source from the content-addressed store, hash-verified

214 self.weights[interface] = {}
215
216 def _register_consumer(self, providers):
217 """
218 把本机注册到对应的interface的consumer上去
219 :param providers:
220 :return:
221 """
222 provider = providers[0]
223 provider_fields = provider['fields']
224
225 consumer = 'consumer://' + get_ip() + provider['path'] + '?'
226 fields = {
227 'application': self.application_name,
228 'category': 'consumers',
229 'check': 'false',
230 'connected': 'true',
231 'dubbo': provider_fields['dubbo'],
232 'interface': provider_fields['interface'],
233 'methods': provider_fields['methods'],
234 'pid': get_pid(),
235 'revision': provider_fields['revision'],
236 'side': 'consumer',
237 'timestamp': int(time.time() * 1000),
238 'version': provider_fields['version'],
239 }
240
241 params = []
242 for key, value in sorted(fields.items()):
243 params.append('{0}={1}'.format(key, value))
244 consumer += '&'.join(params)
245
246 logger.debug('Create consumer {}'.format(fields))
247 consumer_path = DUBBO_ZK_CONSUMERS.format(fields['interface'])
248 self.zk.ensure_path(consumer_path)
249 self.zk.create_async(consumer_path + '/' + quote(consumer, safe=''), ephemeral=True)
250
251 def _routing_with_wight(self, interface):
252 """

Callers 1

Calls 3

get_ipFunction · 0.90
get_pidFunction · 0.90
formatMethod · 0.80

Tested by

no test coverage detected