我是Node和这个后端/前端概念的新手。
我想从第三方API中获取数据,并将其插入到我的数据库中。这需要每2分钟执行一次。我的应用程序是客户端上的Vue应用程序,它在服务器端上运行NodeJS。对API进行单个请求并更新数据库非常简单,但是我不确定这是什么:
我希望每2分钟完成一次这些请求,并更新我的数据库,无论是否有活动用户访问我的Vue应用。当用户访问Vue应用程序时,我正在对我自己创建的自定义创建的ExpressJS REST端点进行API请求,如果只是从数据库中获取数据的话。这应该独立于事实数据库在后台每2分钟更新一次;
以上所有内容,将我带到主要问题:我应该在哪里实际执行这部分,每2分钟更新一次数据库?我担心如果我在NodeJS端的某个地方添加2分钟的“ setTimeout” /“ node-cron”(我不确定由于缺乏对Node的经验而在哪里),也许每用户每2分钟执行一次(因此如果有5个用户处于活动状态,则2分钟内我实际上会有5个请求,而不是一个)?
那么应该如何维护数据库部分?我遇到了this question,这可能是我的问题的答案,但我仍然不确定:
index.js
脚本中添加此循环吗?假设从后端到API的请求与前端的客户端交互无关。
后端仍然每两分钟发出一个请求。 API并将响应保存到数据库。
但是,当客户端使用前端向后端请求时,您可以直接向他们提供数据库中的内容。因此,您的服务器实际上是充当缓存API响应的代理。
使用setTimeout()
功能没有任何问题。