summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgumi <git@gumi.ca>2018-04-09 16:00:02 -0400
committergumi <git@gumi.ca>2018-04-09 16:00:02 -0400
commitcce089fbfb3f0daf7c63c2a84aaa9c7a2e7a8096 (patch)
tree0cb02508edd7e99200e721b634f827bbdde1ad22
parentb8d6ccf68b277b1dc7f25eb31e5154b0074c2808 (diff)
downloadapi-cce089fbfb3f0daf7c63c2a84aaa9c7a2e7a8096.tar.gz
api-cce089fbfb3f0daf7c63c2a84aaa9c7a2e7a8096.tar.bz2
api-cce089fbfb3f0daf7c63c2a84aaa9c7a2e7a8096.tar.xz
api-cce089fbfb3f0daf7c63c2a84aaa9c7a2e7a8096.zip
limit the total number of sql connections
-rw-r--r--server.js12
1 files changed, 10 insertions, 2 deletions
diff --git a/server.js b/server.js
index 55a6b1b..a4f2c8d 100644
--- a/server.js
+++ b/server.js
@@ -7,6 +7,14 @@ const api = express();
const rate_limiting = new Set();
+const register_db = mysql.createPool({
+ connectionLimit: 10,
+ host : process.env.npm_package_config_sql_host,
+ user : process.env.npm_package_config_sql_user,
+ password : process.env.npm_package_config_sql_password,
+ database : process.env.npm_package_config_sql_database
+});
+
const tmwa = {
status: "OfflineTemporarily",
num_online: 0,
@@ -132,7 +140,7 @@ api.post("/api/account", (req, res) => {
database : process.env.npm_package_config_sql_database
});
- db.connect(err => {
+ register_db.getConnection((err, db) => {
if (err) {
res.status(500).json({
status: "error",
@@ -175,7 +183,7 @@ api.post("/api/account", (req, res) => {
setTimeout(() => rate_limiting.delete(req.ip), 300000);
}
- db.end();
+ db.release(); // return this connection to the pool
});
});
});