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