This commit is contained in:
as2252258@163.com
2021-04-11 19:02:42 +08:00
parent 42ce1015c2
commit 858e4b2ba5
4 changed files with 28 additions and 1 deletions
+4
View File
@@ -68,6 +68,10 @@ class OnPipeMessage extends Callback
{
[$topic, $message] = $message['body'];
call_user_func($message['handler'], new Struct($topic, $message));
return 'success';
/** @var TaskContainer $container */
$container = Snowflake::app()->get('kafka-container');
$container->process($topic, new Struct($topic, $message));
+8 -1
View File
@@ -104,7 +104,14 @@ class Kafka extends \Snowflake\Process\Process
$setting = $server->setting['worker_num'];
$message = swoole_serialize(['action' => 'kafka', 'body' => [$topic, $message]]);
/** @var TaskContainer $container */
$container = Snowflake::app()->get('kafka-container');
$handler = $container->getConsumer($topic);
if (empty($handler)) {
return;
}
$message = swoole_serialize(['action' => 'kafka', 'handler' => $handler, 'body' => [$topic, $message]]);
$server->sendMessage($message, random_int(0, $setting - 1));
} catch (Throwable $exception) {
+10
View File
@@ -31,6 +31,16 @@ class TaskContainer extends BaseObject
}
/**
* @param $topic
* @return mixed|null
*/
public function getConsumer(string $topic)
{
return $this->_topics[$topic] ?? null;
}
/**
* @param $topic
* @param \Kafka\Struct $struct
+6
View File
@@ -11,6 +11,7 @@ use Snowflake\Application;
use Snowflake\Event;
use Snowflake\Exception\ComponentException;
use Snowflake\Snowflake;
use Swoole\Coroutine\System;
/**
* Class Process
@@ -35,6 +36,11 @@ abstract class Process extends \Swoole\Process implements SProcess
parent::__construct([$this, '_load'], false, 1, $enable_coroutine);
$this->application = $application;
Snowflake::setProcessId($this->pid);
$content = System::readFile(storage('runtime.php'));
$annotation = Snowflake::app()->getAnnotation();
$annotation->setLoader(unserialize($content));
}
/**