Node Express Mongo应用程序在共享cPanel中进入睡眠模式



我在NameCheap cPanel上部署了一个带有Express js和MongoDB的Node js服务器。问题是我必须刷新2或3次才能从服务器获取数据。否则它给出404。然后它工作良好,但几分钟后,它的行为是一样的。我得刷新两三次。'

const express = require("express");
const { MongoClient } = require("mongodb");
const cors = require("cors");
require("dotenv").config();
const app = express();
const port = process.env.PORT || 5000;
//Middleware
app.use(cors());
app.use(express.json());
//MongoDB linking
const uri = `mongodb+srv://${process.env.DB_USER}:${process.env.DB_PASS}@xyz`;
const client = new MongoClient(uri);
async function run() {
try {
await client.connect();
//DB Folder and Subfolder
const database = client.db("XYZ");
const allUsers = database.collection("All-Users");
app.get("/allusers", async (req, res) => {
const get = allUsers.find({});
const allData = await get.toArray();
res.send(allData);
});
} finally {
//await client.close();
}
}
run().catch(console.dir);
app.get("/", (req, res) => {
res.send(" Server is running just fine");
});
app.listen(port, () => {
console.log(" server running on port :", port);
});

我不知道是什么问题。有人遇到过同样的问题,并解决了吗?谢谢你。

做心跳机制,每5分钟向服务器发送请求以保持其活动,这可能是资源浪费,尽管取决于您使用的定价/计划。

如果你只想保持网站作为节点服务器在你的cpanel上运行,你可以使用cron jobs作为方法,选择*/5作为分钟,这意味着每5分钟运行一次,我不认为这会保持mongo数据库连接,尽管如果这是你想要的

最新更新