Files
kiri-core/Kafka/KafkaImports.php
T

47 lines
862 B
PHP
Raw Normal View History

2020-10-09 16:34:33 +08:00
<?php
2020-10-29 18:17:25 +08:00
declare(strict_types=1);
2020-10-09 16:34:33 +08:00
namespace Kafka;
use Exception;
use HttpServer\Server;
2021-08-11 01:04:57 +08:00
use Kiri\Abstracts\Config;
use Kiri\Abstracts\Config as SConfig;
use Kiri\Abstracts\Providers;
use Kiri\Application;
2020-10-09 16:34:33 +08:00
/**
* Class QueueProviders
* @package Queue
*/
2021-08-04 14:37:12 +08:00
class KafkaImports extends Providers
2020-10-09 16:34:33 +08:00
{
2021-08-05 15:15:42 +08:00
/**
* @param Application $application
* @throws Exception
*/
public function onImport(Application $application)
{
if (!extension_loaded('rdkafka')) {
return;
}
$kafka = SConfig::get('kafka', ['enable' => false]);
if (($kafka['enable'] ?? false) == false) {
return;
}
$kafkaServers = Config::get('kafka.consumers', []);
if (empty($kafkaServers)) {
return;
}
/** @var Server $server */
$server = $application->get('server');
foreach ($kafkaServers as $kafkaServer) {
$server->addProcess(new Kafka($kafkaServer));
}
}
2020-10-09 16:34:33 +08:00
}