Files
MHDMap/server/getDatabase.js
2022-06-28 13:02:50 +02:00

34 lines
726 B
JavaScript

import knex from 'knex';
import config from "../config.js";
let database = null;
let lastFailed = null;
/**
* @return {Knex}
*/
export default function getDatabase() {
if (database) {
return database;
}
if (lastFailed && (new Date().getTime() - lastFailed.getTime() < 60000)) {
// attempt to reconnect every 1 minute, not more frequently
return;
}
try {
console.log('connecting db');
database = knex({
...config.database,
});
lastFailed = null;
return database;
} catch (e) {
console.error("Cannot connect to database". e);
database = null;
lastFailed = new Date();
return null;
}
};