This commit is contained in:
2021-01-14 10:41:16 +08:00
parent 1323e4a43b
commit aa664d4181
+11 -5
View File
@@ -18,6 +18,7 @@ use Swoole\Coroutine\WaitGroup;
use Swoole\IDEHelper\StubGenerators\Swoole; use Swoole\IDEHelper\StubGenerators\Swoole;
use Swoole\Process; use Swoole\Process;
use Snowflake\Abstracts\Config as SConfig; use Snowflake\Abstracts\Config as SConfig;
use Swoole\Timer;
use Throwable; use Throwable;
/** /**
@@ -39,6 +40,9 @@ class Kafka extends \Snowflake\Process\Process
$this->channelListener(); $this->channelListener();
$this->waite(json_decode($process->read(), true)); $this->waite(json_decode($process->read(), true));
Timer::tick(1000, function () {
$this->application->error('kafka service error.');
});
} }
@@ -49,6 +53,9 @@ class Kafka extends \Snowflake\Process\Process
{ {
try { try {
[$config, $topic, $conf] = $this->kafkaConfig($kafkaServer); [$config, $topic, $conf] = $this->kafkaConfig($kafkaServer);
if (empty($config) && empty($topic) && empty($conf)) {
return;
}
$objRdKafka = new Consumer($config); $objRdKafka = new Consumer($config);
$topic = $objRdKafka->newTopic($kafkaServer['topic'], $topic); $topic = $objRdKafka->newTopic($kafkaServer['topic'], $topic);
@@ -144,6 +151,7 @@ class Kafka extends \Snowflake\Process\Process
*/ */
private function kafkaConfig($kafka): array private function kafkaConfig($kafka): array
{ {
try {
$conf = new Conf(); $conf = new Conf();
$conf->setRebalanceCb([$this, 'rebalanced_cb']); $conf->setRebalanceCb([$this, 'rebalanced_cb']);
$conf->set('group.id', $kafka['groupId']); $conf->set('group.id', $kafka['groupId']);
@@ -156,7 +164,6 @@ class Kafka extends \Snowflake\Process\Process
} }
$topicConf = new TopicConf(); $topicConf = new TopicConf();
try {
$topicConf->set('auto.commit.enable', '1'); $topicConf->set('auto.commit.enable', '1');
$topicConf->set('auto.commit.interval.ms', '100'); $topicConf->set('auto.commit.interval.ms', '100');
@@ -166,14 +173,13 @@ class Kafka extends \Snowflake\Process\Process
$topicConf->set('offset.store.path', 'kafka_offset.log'); $topicConf->set('offset.store.path', 'kafka_offset.log');
$topicConf->set('offset.store.method', 'broker'); $topicConf->set('offset.store.method', 'broker');
var_dump(get_object_vars($topicConf)); return [$conf, $topicConf, $kafka];
$topicConf->set('auto.create.topics.enable', 'true');
} catch (Throwable $exception) { } catch (Throwable $exception) {
$this->application->error($exception->getMessage()); $this->application->error($exception->getMessage());
return [null, null, null];
} }
return [$conf, $topicConf, $kafka];
} }