config tests added,

.env file support added with dotenv,
README.md file updated for .evn file support,
database lost connection bug crash fixed,
session server run_session long timeout bug fixed
This commit is contained in:
C
2023-01-30 17:49:19 +05:00
parent 0c0201622b
commit 622556911c
8 changed files with 2527 additions and 38 deletions
+15 -12
View File
@@ -3,18 +3,21 @@ const { database_url, database_name } = require('../../config')
const crypto = require("crypto")
let max_database_connection_timeout = 1000
const client = new MongoClient(database_url, {
serverSelectionTimeoutMS: max_database_connection_timeout,
useUnifiedTopology: true
})
const get_db = async () => {
const client = new MongoClient(database_url, {
serverSelectionTimeoutMS: max_database_connection_timeout,
useUnifiedTopology: true
})
try {
await client.connect()
await client.db(database_name).command({ ping: 1 })
return client.db(database_name)
} catch (err) {
console.log('can not connect to database')
console.error('can not connect to database')
await client.close()
return null
}
return client.db(database_name)
}
const get_titles = async (start, count) => {
@@ -41,14 +44,14 @@ const get_free_session_servers = async (title) => {
var active_session = db.collection('active_session')
var free_servers = []
var servers_length = servers.length
for (var i = 0; i < servers_length; ++i) {
var sessions = await active_session.find({url:servers[i].url}).toArray()
if (servers[i].limit > sessions.length) {
free_servers.push(servers[i])
for (const server of servers) {
var sessions = await active_session.find({server_url:server.url}).toArray()
if (server.limit > sessions.length) {
free_servers.push(server)
}
}
return free_servers
return (free_servers.length) ? free_servers : null
}
const add_active_session = async (server_url, session_id, websocket_url) => {