aboutsummaryrefslogtreecommitdiff
path: root/server.js
diff options
context:
space:
mode:
authorBobby <[email protected]>2022-06-23 15:07:44 +0530
committerBobby <[email protected]>2022-06-23 15:07:44 +0530
commit2e0b8a471289f2e04286494a0a6333976b95e01a (patch)
tree2fecab5129416fa8694140457eae6db6a8964882 /server.js
parente743acd1cfc3a5c7a97279f6fa43af994cc6781d (diff)
downloadthatcomputerscientist-2e0b8a471289f2e04286494a0a6333976b95e01a.tar.xz
thatcomputerscientist-2e0b8a471289f2e04286494a0a6333976b95e01a.zip
added cron job for connecting to the database
Diffstat (limited to 'server.js')
-rw-r--r--server.js37
1 files changed, 29 insertions, 8 deletions
diff --git a/server.js b/server.js
index 5946aba5..dfc25a91 100644
--- a/server.js
+++ b/server.js
@@ -1,11 +1,15 @@
const express = require("express");
const cors = require("cors");
-const bodyParser = require("body-parser");
-const cookieParser = require('cookie-parser');
-const flash = require('connect-flash');
-const expressSession = require('express-session');
+const cookieParser = require("cookie-parser");
+const flash = require("connect-flash");
+const expressSession = require("express-session");
+const mysql = require("mysql2");
const app = express();
const port = process.env.PORT || 3000;
+const connectionURL = process.env.DATABASE_URL;
+const validationString = process.env.AUTHORIZATION_STRING;
+const cron = require("node-cron");
+
require("dotenv").config();
// Middleware
@@ -13,10 +17,12 @@ app.use(cors());
app.use(express.json());
app.use(cookieParser());
app.use(express.urlencoded({ extended: true }));
-app.use(expressSession({
- cookie: { maxAge: 30 * 24 * 60 * 60 * 1000 },
- secret: process.env.AUTHORIZATION_STRING,
-}));
+app.use(
+ expressSession({
+ cookie: { maxAge: 30 * 24 * 60 * 60 * 1000 },
+ secret: process.env.AUTHORIZATION_STRING,
+ })
+);
app.use(flash());
// Set Template Engine
@@ -31,6 +37,21 @@ app.set("views", __dirname + "/views");
// Routes
app.use("/", require("./routes"));
+// Run a cron job every 6 days to connect to the database - so that the database does not sleep
+cron.schedule("0 0 */6 * *", () => {
+ console.log("Cron job running");
+ const connection = mysql.createConnection(connectionURL);
+ connection.connect();
+ connection.query("SELECT 1", (err, results, fields) => {
+ if (err) {
+ console.log(err);
+ } else {
+ console.log("Database connected");
+ }
+ });
+ connection.end();
+});
+
// Start server
app.listen(port, () => {
console.log(`Server started on port ${port}`);