diff options
author | gumi <git@gumi.ca> | 2018-04-09 16:00:02 -0400 |
---|---|---|
committer | gumi <git@gumi.ca> | 2018-04-09 16:00:02 -0400 |
commit | cce089fbfb3f0daf7c63c2a84aaa9c7a2e7a8096 (patch) | |
tree | 0cb02508edd7e99200e721b634f827bbdde1ad22 | |
parent | b8d6ccf68b277b1dc7f25eb31e5154b0074c2808 (diff) | |
download | apiv1-cce089fbfb3f0daf7c63c2a84aaa9c7a2e7a8096.tar.gz apiv1-cce089fbfb3f0daf7c63c2a84aaa9c7a2e7a8096.tar.bz2 apiv1-cce089fbfb3f0daf7c63c2a84aaa9c7a2e7a8096.tar.xz apiv1-cce089fbfb3f0daf7c63c2a84aaa9c7a2e7a8096.zip |
limit the total number of sql connections
-rw-r--r-- | server.js | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -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 }); }); }); |