如何让代码每15分钟连续执行一次?

嘿家伙我在节点+运行一个networking服务器快递,由于某种原因,我的代码不是每10分钟执行,即使我清楚地有setInterval函数设置那里。 这只是我在我的脚本文件(名为serverScripts.js)中设置的4个代码之一,紧挨着app.js,我用两个节点serverScripts.js运行它,并使用永久模块,但它仍然不起作用

var APOD = (function() { setInterval(function() { async.waterfall([ function Request(callback) { let apodUrl = 'https://api.nasa.gov/planetary/apod?api_key='; let api_key = '*censored*'; request(apodUrl+api_key, function(err, apodData) { if (err) throw err; apodData = JSON.parse(apodData.body); callback(null, apodData); }); }, function GetTableItems(apodData, callback) { let apodParams = { TableName: "APOD" } db.scan(apodParams, (err,apodTable) => { if (err) throw err; callback(null, apodData, apodTable); }); }, function CheckUniques(apodData, apodTable, callback) { let tempArr = []; for (let i = 0; i < apodTable.Items.length; i++) { tempArr.push(apodTable.Items[i].title); } let IsItThere = _.includes(tempArr, apodData.title); if (!IsItThere) { setTimeout(function() { let putParams = { TableName: 'APOD', Item: { "title": apodData.title, "date": apodData.date, "description": apodData.explanation, "hdurl": apodData.hdurl, "media_type": apodData.media_type, "url": apodData.url, "copyright": apodData.copyright } } db.put(putParams, (err) => { if (err) throw err; console.log(`\nAdded APOD item: ---"${apodData.title}"--- to the database.\n`); }); },1000); } else { console.log("No new APOD items."); } callback(null); } ]); APOD; },600000); }()); 

我认为根据你的问题cron是最好的匹配,你可以设置每15分钟后cron。 https://www.npmjs.com/package/node-cron

 var cron = require('node-cron'); cron.schedule('0 0/15 * 1/1 * ? *', function(){ console.log('running a task every 15 minutes'); });