我尝试基于和的NodeJS角4. 我有一个API服务器连接到一个MongoDB的和第二服务器运行的NodeJS角4.经常性功能
运行,开发一个小网页游戏我想要在后台执行循环标准功能(如每15分钟)。
我需要第三台运行该功能的服务器吗?或者我可以在API服务器上独立运行这些功能 - 不管哪条路线是开放的?
我尝试基于和的NodeJS角4. 我有一个API服务器连接到一个MongoDB的和第二服务器运行的NodeJS角4.经常性功能
运行,开发一个小网页游戏我想要在后台执行循环标准功能(如每15分钟)。
我需要第三台运行该功能的服务器吗?或者我可以在API服务器上独立运行这些功能 - 不管哪条路线是开放的?
您可以使用节点setTimeout()
和setInterval()
就像在浏览器:
setInterval(() => {
// this runs every 15 minutes
}, 15 * 60 * 1000);
,谢谢您的评论!但是我担心API在“/不管”时的功能。它还在工作吗? – snibbo
你可能想看看这个库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();
感谢您的帮助。这有助于你告诉我在哪里放置代码。我用setInterval去,但CronJob看起来也是一个很好的工具。 – snibbo
你的意思是调用某些API每隔15分钟 –
我的意思是,从数据库中获取数据,并用它做什么并保存更新;例如:如果玩家拥有地雷,请检查所有15分钟,然后将其资源提高1 – snibbo