【问题标题】:Update value in DB every five minutes每五分钟更新一次数据库中的值
【发布时间】:2014-05-01 22:15:17
【问题描述】:

我正在构建一个 web 应用程序,其中用户根据他们的 twitter 活动和他们在我的网站上的活动进行排名。

因此,我想每五分钟更新一次他们的排名,从 twitter 中提取他们的最新活动并将其更新到我的数据库中。我正在考虑使用这样的东西:

var minutes = 5, the_interval = minutes * 60 * 1000;
setInterval(function() {
  // my update here
}, the_interval);

但是,我对这段代码有几个问题:

  1. 我应该将它保存在哪里以确保它可以运行?
  2. 它会减慢我的程序还是每五分钟从 twitter 中提取数据有问题?我应该改用他们的流媒体 API 吗?

注意:我使用的是 mongoDB

【问题讨论】:

    标签: javascript node.js mongodb twitter


    【解决方案1】:

    我建议您创建一个计划任务/计时作业/等。 (取决于您的主机操作系统)调用单独的 Node.JS 应用程序,该应用程序执行您要定期执行的特定任务,然后在完成时退出。 (或者您也可以使用ChildProcess)。

    虽然 Node.JS 是异步的,但根据您提供的描述,没有必要在为 Web 应用程序提供服务的同一应用程序进程中执行此工作。事实上,这听起来像是“忙碌的工作”,最好通过不同的流程来处理,以避免直接影响您的任何交互式网络用户。

    【讨论】:

      【解决方案2】:

      由于 Node 是异步的,因此放置位置并不重要。

      【讨论】:

      • 谢谢,我是 node 的初学者,所以我不确定我是否能完美地完成一切:) 如果我把它放在我的 app.js 文件(我的主文件)中,即使没有人继续它也会更新我的网站?
      • 只要它不在您的网络服务器的回调中,它就会自行更新。
      猜你喜欢
      • 2016-11-10
      • 2020-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2011-12-22
      相关资源
      最近更新 更多