frag-seb / supervisor-client
supervisor的PHP客户端
dev-master
2017-09-25 05:29 UTC
Requires
- php: >=7.0
Requires (Dev)
- leanphp/phpspec-code-coverage: ^3.2@dev
- mockery/mockery: ^0.9.8
- phpspec/phpspec: ^3.0
- phpunit/phpunit: 5.*
- satooshi/php-coveralls: dev-master
This package is auto-updated.
Last update: 2024-09-29 05:01:06 UTC
README
Supervisor API 客户端
待办事项
- 文档
- 示例
- 等等
创建客户端管理器的简单示例。
<?php use FragSeb\Supervisor\Factory\ManagerFactory; /** @var Composer\Autoload\ClassLoader $loader */ $loader = require __DIR__.'/../vendor/autoload.php'; $config = [ 'master' => [ 'host' => 'https://:9001/RPC2', 'auth' => [ 'username' => 'user', 'password' => 123 ] ], 'slave' => [ 'host' => 'https://2:9001/RPC2', 'auth' => [ 'username' => 'user', 'password' => 123 ] ] ]; $factory = new ManagerFactory(); $manager = $factory->create($config); try { $client = $manager; var_dump($client->getAllProcessInfo()); } catch (\Exception $exception) { echo 'message: ' . $exception->getMessage() . PHP_EOL; echo 'code: ' . $exception->getCode() . PHP_EOL; exit; }
多服务器调用的示例。
<?php use FragSeb\Supervisor\Factory\ClientFactory; use FragSeb\Supervisor\Factory\XmlRpcConnectorFactory; use FragSeb\Supervisor\Serializer\XmlRpcSerializer; use FragSeb\Supervisor\Registry\ServerRegistry; use FragSeb\Supervisor\Registry\ClientRegistry; use FragSeb\Supervisor\ClientManager; use FragSeb\Supervisor\Factory\ServerFactory; use FragSeb\Supervisor\Response\ResponseBuilder; /** @var Composer\Autoload\ClassLoader $loader */ $loader = require __DIR__.'/../vendor/autoload.php'; $config = [ 'master' => [ 'host' => 'https://:9001/RPC2', 'auth' => [ 'username' => 'user', 'password' => 123 ] ], 'slave' => [ 'host' => 'https://2:9001/RPC2', 'auth' => [ 'username' => 'user', 'password' => 123 ] ] ]; $clientRegistry = new ClientRegistry( new ServerRegistry($config, new ServerFactory), new XmlRpcConnectorFactory(new XmlRpcSerializer), new ClientFactory(new ResponseBuilder) ); /** @var \FragSeb\Supervisor\Client\ClientInterface $manager */ $manager = new ClientManager($clientRegistry); try { var_dump($manager->getAllProcessInfo()); } catch (\Exception $exception) { echo 'message: ' . $exception->getMessage() . PHP_EOL; echo 'code: ' . $exception->getCode() . PHP_EOL; exit; }
单次调用的示例。
<?php use FragSeb\Supervisor\Factory\ClientFactory; use FragSeb\Supervisor\Factory\XmlRpcConnectorFactory; use FragSeb\Supervisor\Serializer\XmlRpcSerializer; use FragSeb\Supervisor\Registry\ServerRegistry; use FragSeb\Supervisor\Registry\ClientRegistry; use FragSeb\Supervisor\ClientManager; use FragSeb\Supervisor\Factory\ServerFactory; use FragSeb\Supervisor\Response\ResponseBuilder; /** @var Composer\Autoload\ClassLoader $loader */ $loader = require __DIR__.'/../vendor/autoload.php'; $config = [ 'master' => [ 'host' => 'https://:9001/RPC2', 'auth' => [ 'username' => 'user', 'password' => 123 ] ], 'slave' => [ 'host' => 'https://2:9001/RPC2', 'auth' => [ 'username' => 'user', 'password' => 123 ] ] ]; $clientRegistry = new ClientRegistry( new ServerRegistry($config, new ServerFactory), new XmlRpcConnectorFactory(new XmlRpcSerializer), new ClientFactory(new ResponseBuilder) ); /** @var \FragSeb\Supervisor\Client\ClientInterface $manager */ $manager = new ClientManager($clientRegistry); try { $client = $manager->getClient('master'); var_dump($client->getAllProcessInfo()); } catch (\Exception $exception) { echo 'message: ' . $exception->getMessage() . PHP_EOL; echo 'code: ' . $exception->getCode() . PHP_EOL; exit; }