改名
This commit is contained in:
+10
-1
@@ -16,10 +16,12 @@ use HttpServer\Service\Websocket;
|
|||||||
use Exception;
|
use Exception;
|
||||||
use ReflectionException;
|
use ReflectionException;
|
||||||
use Snowflake\Abstracts\Config;
|
use Snowflake\Abstracts\Config;
|
||||||
|
use Snowflake\Core\Json;
|
||||||
use Snowflake\Event;
|
use Snowflake\Event;
|
||||||
use Snowflake\Exception\ConfigException;
|
use Snowflake\Exception\ConfigException;
|
||||||
use Snowflake\Exception\NotFindClassException;
|
use Snowflake\Exception\NotFindClassException;
|
||||||
use Snowflake\Snowflake;
|
use Snowflake\Snowflake;
|
||||||
|
use Swoole\Process;
|
||||||
use Swoole\Runtime;
|
use Swoole\Runtime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -63,14 +65,18 @@ class Server extends Application
|
|||||||
|
|
||||||
private array $process = [];
|
private array $process = [];
|
||||||
|
|
||||||
|
private array $params = [];
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $name
|
* @param $name
|
||||||
* @param $process
|
* @param $process
|
||||||
|
* @param array $pramas
|
||||||
*/
|
*/
|
||||||
public function addProcess($name, $process)
|
public function addProcess($name, $process, $pramas = [])
|
||||||
{
|
{
|
||||||
$this->process[$name] = $process;
|
$this->process[$name] = $process;
|
||||||
|
$this->params[$name] = $pramas;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -241,6 +247,9 @@ class Server extends Application
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$system = new $process(Snowflake::app(), $name, $is_enable_coroutine);
|
$system = new $process(Snowflake::app(), $name, $is_enable_coroutine);
|
||||||
|
if (isset($this->params[$name])) {
|
||||||
|
$system->write(Json::encode($this->params[$name]));
|
||||||
|
}
|
||||||
$this->baseServer->addProcess($system);
|
$this->baseServer->addProcess($system);
|
||||||
$application->set($process, $system);
|
$application->set($process, $system);
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-13
@@ -32,25 +32,13 @@ class Kafka extends \Snowflake\Process\Process
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Process $process
|
* @param Process $process
|
||||||
* @throws ConfigException
|
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function onHandler(Process $process)
|
public function onHandler(Process $process)
|
||||||
{
|
{
|
||||||
$this->channelListener();
|
$this->channelListener();
|
||||||
|
|
||||||
$waite = new WaitGroup();
|
$this->waite(json_decode($process->read(), true));
|
||||||
$kafkaServers = SConfig::get('kafka.servers');
|
|
||||||
foreach ($kafkaServers as $kafkaServer) {
|
|
||||||
$waite->add();
|
|
||||||
go(function () use ($kafkaServer, $waite) {
|
|
||||||
defer(function () use ($waite) {
|
|
||||||
$waite->done();
|
|
||||||
});
|
|
||||||
$this->waite($kafkaServer);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
$waite->wait();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ namespace Kafka;
|
|||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
use HttpServer\Server;
|
use HttpServer\Server;
|
||||||
|
use Snowflake\Abstracts\Config;
|
||||||
use Snowflake\Abstracts\Config as SConfig;
|
use Snowflake\Abstracts\Config as SConfig;
|
||||||
use Snowflake\Abstracts\Providers;
|
use Snowflake\Abstracts\Providers;
|
||||||
use Snowflake\Application;
|
use Snowflake\Application;
|
||||||
@@ -34,7 +35,15 @@ class KafkaProviders extends Providers
|
|||||||
if (!extension_loaded('rdkafka')) {
|
if (!extension_loaded('rdkafka')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$server->addProcess('kafka', Kafka::class);
|
|
||||||
|
$kafkaServers = Config::get('kafka.servers', false, []);
|
||||||
|
if (empty($kafkaServers)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($kafkaServers as $index => $kafkaServer) {
|
||||||
|
$server->addProcess('kafka_' . $index, Kafka::class, $kafkaServer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user