Commit 69135a96 authored by carlos's avatar carlos

本地开发环境服务注册中心修改

parent 8bb48c56
......@@ -8,6 +8,7 @@
namespace Meibuyu\Micro\Listener;
use Hyperf\Consul\Exception\ServerException;
use Hyperf\ServiceGovernance\Listener\RegisterServiceListener as BaseRegisterServiceListener;
class RegisterServiceListener extends BaseRegisterServiceListener
......@@ -45,4 +46,40 @@ class RegisterServiceListener extends BaseRegisterServiceListener
return $result;
}
public function process(object $event)
{
$this->registeredServices = [];
$continue = true;
$env = $this->config->get('app_env');
while ($continue) {
try {
$services = $this->serviceManager->all();
$servers = $this->getServers();
foreach ($services as $serviceName => $serviceProtocols) {
foreach ($serviceProtocols as $paths) {
foreach ($paths as $path => $service) {
if (! isset($service['publishTo'], $service['server']) || $env == 'dev-mf') {
continue;
}
[$address, $port] = $servers[$service['server']];
switch ($service['publishTo']) {
case 'consul':
$this->publishToConsul($address, (int) $port, $service, $serviceName, $path);
break;
}
}
}
}
$continue = false;
} catch (ServerException $throwable) {
if (strpos($throwable->getMessage(), 'Connection failed') !== false) {
$this->logger->warning('Cannot register service, connection of service center failed, re-register after 10 seconds.');
sleep(10);
} else {
throw $throwable;
}
}
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment