Skip to content
Snippets Groups Projects
Commit 94ca91a0 authored by Mateusz Charytoniuk's avatar Mateusz Charytoniuk
Browse files

chore: prefill connection pools

parent eed77f68
No related branches found
No related tags found
No related merge requests found
......@@ -20,6 +20,8 @@ readonly class DatabaseConnectionPoolConfiguration
#[SensitiveParameter]
public string $password,
#[SensitiveParameter]
public int $poolSize,
#[SensitiveParameter]
public int $port,
#[SensitiveParameter]
public string $username,
......
......@@ -16,6 +16,8 @@ readonly class RedisConnectionPoolConfiguration
#[SensitiveParameter]
public string $password,
#[SensitiveParameter]
public int $poolSize,
#[SensitiveParameter]
public int $port,
#[SensitiveParameter]
public string $prefix,
......
......@@ -20,6 +20,7 @@ use Nette\Schema\Schema;
* host: string,
* log_queries: bool,
* password: string,
* pool_size: int,
* port: int,
* username: string,
* }>
......@@ -43,6 +44,7 @@ final readonly class DatabaseConfigurationProvider extends ConfigurationProvider
'host' => Expect::string()->min(1)->required(),
'log_queries' => Expect::bool()->required(),
'password' => Expect::string()->required(),
'pool_size' => Expect::int()->min(1)->required(),
'port' => Expect::int()->min(1)->max(65535)->required(),
'username' => Expect::string()->min(1)->required(),
]);
......@@ -63,6 +65,7 @@ final readonly class DatabaseConfigurationProvider extends ConfigurationProvider
host: $connectionPoolConfiguration->host,
logQueries: $connectionPoolConfiguration->log_queries,
password: $connectionPoolConfiguration->password,
poolSize: $connectionPoolConfiguration->pool_size,
port: $connectionPoolConfiguration->port,
username: $connectionPoolConfiguration->username,
),
......
......@@ -40,6 +40,7 @@ final readonly class RedisConfigurationProvider extends ConfigurationProvider
'db_index' => Expect::int()->min(0)->required(),
'host' => Expect::string()->min(1)->required(),
'password' => Expect::string()->required(),
'pool_size' => Expect::int()->min(1)->required(),
'port' => Expect::int()->min(1)->max(65535)->required(),
'prefix' => Expect::string()->min(1)->required(),
'timeout' => Expect::int()->min(0)->required(),
......@@ -59,6 +60,7 @@ final readonly class RedisConfigurationProvider extends ConfigurationProvider
dbIndex: $connectionPoolConfiguration->db_index,
host: $connectionPoolConfiguration->host,
password: $connectionPoolConfiguration->password,
poolSize: $connectionPoolConfiguration->pool_size,
port: $connectionPoolConfiguration->port,
prefix: $connectionPoolConfiguration->prefix,
timeout: $connectionPoolConfiguration->timeout,
......
......@@ -46,10 +46,11 @@ final readonly class DatabaseConnectionPoolRepositoryProvider extends SingletonP
PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT,
])
;
$databaseConnectionPoolRepository->databaseConnectionPool->put(
$name,
new PDOPool($pdoConfig),
);
$pdoPool = new PDOPool($pdoConfig, $connectionPoolConfiguration->poolSize);
$pdoPool->fill();
$databaseConnectionPoolRepository->databaseConnectionPool->put($name, $pdoPool);
}
return $databaseConnectionPoolRepository;
......
......@@ -37,10 +37,11 @@ final readonly class RedisConnectionPoolRepositoryProvider extends SingletonProv
->withDbIndex($connectionPoolConfiguration->dbIndex)
->withTimeout($connectionPoolConfiguration->timeout)
;
$redisConnectionPoolRepository->redisConnectionPool->put(
$name,
new RedisPool($redisConfig),
);
$redisPool = new RedisPool($redisConfig, $connectionPoolConfiguration->poolSize);
$redisPool->fill();
$redisConnectionPoolRepository->redisConnectionPool->put($name, $redisPool);
}
return $redisConnectionPoolRepository;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment