我正在尝试构建一个后端基础设施,该基础设施在给定的时间内重复访问特定的 API 端点,例如每秒一次。然后,系统会将响应发布(或任何与发布请求等效的内容)到我的数据库,以便我稍后可以使用这些数据。
我认为 Node 可以工作,因为我已经在使用 Javascript,据我所知,它本质上允许 JS 在服务器上运行。我想使用 MongoDB,因为与 postgreSQL 之类的东西相比,它更容易更改架构。
使用 Express,您可以在获取所有用户时执行类似的操作(此代码来 self 制作的 api,因此可能不准确):
router.get('/users', function(req, res, next) {
const userData = {
_id: false,
password: false,
about: false,
__v: false
}
User.find({}, userData, function(err, user) {
if(err) {
res.send('Unable to find user');
console.log(err);
} else {
res.json(user);
}
});
});
显然,主要问题是这依赖于用户前往执行此代码的路线,如何才能使 Node 应用程序(或 Express,如果可能)可以坐在服务器上,我可以运行文件 node app.js
,然后它会不断运行并将响应数据添加到数据库(位于同一服务器上),而不必担心转到任何页面或以其他方式执行代码?
如果您有任何疑问或需要更多说明,请告诉我。
最佳答案
将您想要运行的代码存储在可重用的常规函数中,而不是将其作为匿名函数与路由处理程序耦合。然后,使用像 node-cron 这样的调度程序或类似的东西,它会定期调用该函数。
关于javascript - Node.js 应用程序无需用户即可运行并将数据存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51851186/