gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 23:59:27 25 4
gpt4 key购买 nike

大家好,我在 node + express 上运行一个网络服务器,出于某种原因,我的代码不是每 10 分钟执行一次,即使我显然在那里设置了 setInterval 函数。这只是我在 app.js 旁边的脚本文件(称为 serverScripts.js)中设置的 4 个代码之一,我使用两个 Node serverScripts.js 运行它并在其上使用了 forever 模块,但它仍然不起作用

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');
});

关于javascript - 如何让一段代码每15分钟连续执行一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40967537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com