feat: use hasql-pool-0.9, add db-pool-max-lifetime (fixes #2638)

- db-pool-acquisition-timeout is no longer optional, defaults to 10s
- new option db-pool-max-lifetime limits the maximal lifetime of a
  postgresql connection, defaults to 30m
This commit is contained in:
Robert Vollmert
2023-04-12 12:49:36 -05:00
committed by steve-chavez
parent b869dd7be9
commit f26cdd5151
20 changed files with 83 additions and 23 deletions
+5 -4
View File
@@ -116,10 +116,11 @@ destroy = destroyPool
initPool :: AppConfig -> IO SQL.Pool
initPool AppConfig{..} =
SQL.acquire configDbPoolSize timeoutMilliseconds $ toUtf8 configDbUri
where
timeoutMilliseconds = (* oneSecond) <$> configDbPoolAcquisitionTimeout
oneSecond = 1000000
SQL.acquire
configDbPoolSize
(fromIntegral configDbPoolAcquisitionTimeout)
(fromIntegral configDbPoolMaxLifetime)
(toUtf8 configDbUri)
-- | Run an action with a database connection.
usePool :: AppState -> SQL.Session a -> IO (Either SQL.UsageError a)