Fix database connection pool contention (maybe)

Instead of acquiring a connection per service per request, we
acquire connections more often but at a more granular level, meaning
they're also disposed of more quickly instead of staying for a long time
in case of long-running commands or leaks.
This commit is contained in:
Ske
2019-07-11 21:25:23 +02:00
parent ca56fd419b
commit d829630a35
8 changed files with 166 additions and 109 deletions

View File

@@ -333,4 +333,19 @@ namespace PluralKit
return (T) value;
}
}
public class DbConnectionFactory
{
private string _connectionString;
public DbConnectionFactory(string connectionString)
{
_connectionString = connectionString;
}
public IDbConnection Obtain()
{
return new NpgsqlConnection(_connectionString);
}
}
}