我在heroku上有一个播放应用程序,通过play-slick连接到postgres实例。部署新应用程序的时间大约有30%我在日志中得到了这个:
java.sql.SQLTransientConnectionException: db - Connection is not available, request timed out after 1007ms.
当我重新启动应用程序时,它通常会重新启动,但有时需要几次尝试。
我可以做些什么来调试这个?
答案 0 :(得分:0)
最有可能的是,有一段时间旧应用和新应用都试图获得与数据库的连接,这意味着你有双你最大允许连接活跃。
有两种解决方案:
play-slick uses HikariCP用于池连接,因此您可以使用maximumPoolSize
配置最大连接数。
答案 1 :(得分:0)
我相信我已经弄清楚问题是什么。我使用默认的heroku play Procfile,其中包含-Ddb.default.url=${DATABASE_URL}
,另外还有我的conf中指定的slick db url。删除前者解决了这个问题。