2017-04-13 47 views
0

我尝试基于和的NodeJS角4. 我有一个API服务器连接到一个MongoDB的和第二服务器运行的NodeJS角4.经常性功能

运行,开发一个小网页游戏我想要在后台执行循环标准功能(如每15分钟)。

我需要第三台运行该功能的服务器吗?或者我可以在API服务器上独立运行这些功能 - 不管哪条路线是开放的?

+0

你的意思是调用某些API每隔15分钟 –

+0

我的意思是,从数据库中获取数据,并用它做什么并保存更新;例如:如果玩家拥有地雷,请检查所有15分钟,然后将其资源提高1 – snibbo

回答

0

您可以使用节点setTimeout()setInterval()就像在浏览器:

setInterval(() => { 
    // this runs every 15 minutes 
}, 15 * 60 * 1000); 
+0

,谢谢您的评论!但是我担心API在“/不管”时的功能。它还在工作吗? – snibbo

1

你可能想看看这个库node-cron。您可以将其设置为与您的服务一起工作。初始化服务器后,您需要立即初始化作业。举个例子:

var CronJob = require('cron').CronJob; 
var job = new CronJob({ 
    cronTime: '00 30 11 * * 1-5', 
    onTick: function() { 
    /* 
    * Runs every weekday (Monday through Friday) 
    * at 11:30:00 AM. It does not run on Saturday 
    * or Sunday. 
    */ 
    }, 
    start: false, 
    timeZone: 'America/Los_Angeles' 
}); 
job.start(); 
+0

感谢您的帮助。这有助于你告诉我在哪里放置代码。我用setInterval去,但CronJob看起来也是一个很好的工具。 – snibbo