Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js自动获取请求_Javascript_Node.js_Http_Cron_Automation - Fatal编程技术网

Javascript Node.js自动获取请求

Javascript Node.js自动获取请求,javascript,node.js,http,cron,automation,Javascript,Node.js,Http,Cron,Automation,我需要在我的节点应用程序中每10分钟执行一次GET请求并添加到mongoDB 我对node比较陌生,目前必须访问/myurl来启动流程(获取并添加到DB),该流程按预期工作 让节点应用程序不断发出此GET请求(每10分钟一次)的最佳方法是什么 我的研究让我想到了以下几点: JavaScript:var t=setInterval(runFunction,1000) Cron作业。我不确定是否可以让cron作业执行节点函数。也许这需要在节点外部完成 如果您有任何建议,我们将不胜感激。因为您使用

我需要在我的节点应用程序中每10分钟执行一次GET请求并添加到mongoDB

我对node比较陌生,目前必须访问/myurl来启动流程(获取并添加到DB),该流程按预期工作

让节点应用程序不断发出此GET请求(每10分钟一次)的最佳方法是什么

我的研究让我想到了以下几点:

  • JavaScript:var t=setInterval(runFunction,1000)
  • Cron作业。我不确定是否可以让cron作业执行节点函数。也许这需要在节点外部完成

如果您有任何建议,我们将不胜感激。

因为您使用的是node,我将使用setInterval:

var t = setInterval(runFunction, 10 * 60 * 1000);

这可能是一个愚蠢的问题,但为什么我需要将I设置为变量“t”?这可能是一个愚蠢的问题,但为什么我需要将其设置为变量“t”?由于某种原因,我不能让它那样工作。它只记录一次。这项工作:
setInterval(logTime,10*60*1000)
function logTime(){
console.log('hi');
}
分配给“t”应该没有效果——您的测试代码应该也能正常工作。但是,如果您有调用clearInterval(t)的额外代码,那么这将取消定期调用。奇怪。是的,分配给't'会告诉我:'监听端口3000 timers.js:252 callback.apply(this,args);^TypeError:无法在Timer.listOnTimeout[as-onttimeout](timers.js:252:14)at Timer.listOnTimeout[as-onttimeout](timers.js:110:15)调用未定义的at包装器的方法'apply',您可能已经在出于其他目的使用't'。尝试将名称更改为“intervalID”。