如何编写 nodejs 服务,一直运行
How to write nodejs service, running all time
我是nodeJs(和JS)的新手,所以你能解释一下(或给出一个链接)如何编写永久运行的nodeJs的简单服务吗?
我想编写服务,它每秒向外部 API 发送一个请求,以存储其数据库的结果。
那么,也许nodeJs有一些简单的模块来一遍又一遍地运行js方法(方法)?
或者,我只需要编写while
循环并在那里进行?
setInterval()
是你用来在node.js中每秒运行一些东西的东西。 这将每 NN 毫秒调用一次回调,其中传递 NN 的值。
var interval = setInterval(function() {
// execute your request here
}, 1000);
如果您希望它永久运行,您还需要处理您联系的远程服务器离线或出现问题并且响应速度不如正常的情况(例如,麻烦的请求超时或失败可能需要一秒钟以上)。 在完成处理后 1 秒重复使用 setTimeout()
来计划下一个请求可能更安全。
function runRequest() {
issueRequest(..., function(err, data) {
// process request results here
// schedule next request
setTimeout(runRequest, 1000);
})
}
// start the repeated requests
runRequest();
在这个代码块中,issueRequest()
只是您正在执行的任何网络操作的占位符(我个人可能会使用 request()
模块并使用 request.get()
.
由于您的请求处理是异步的,因此这实际上不会是递归,也不会导致堆栈堆积。
仅供参考,具有活动传入服务器或活动计时器或进程内网络操作的节点.js进程将不会退出(它将继续运行),因此只要您始终运行计时器或运行网络请求,您的节点.js进程将继续运行。
相关文章:
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 使用压缩的JavaScript文件(不是运行时压缩)
- Javascript运行php文件,然后下载文件
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 即使被信号处理程序中断,node.js代码也会一直运行到完成吗
- 我一直收到的控制台警告是什么?推迟长时间运行的计时器任务以提高滚动的流畅性
- 防止请求动画帧一直运行
- 为什么 console.log() 一直在这个循环中运行
- 如何编写 nodejs 服务,一直运行
- 停止ParticleSystem一直运行
- NodeJS:一直在运行服务器
- 当我在django中运行服务器时,我收到了这个请求错误,i'我一直在使用引导程序
- 当运行javascript代码时,网页样式会一直恢复到默认设置
- 浏览器在运行使用json的ajax函数后继续加载(加载指示器一直在旋转)
- Node.js:代码在web请求完成之前一直运行
- Javascript代码运行良好.几乎一直都是
- Firefox扩展一直在后台运行
- Javascript一直在运行
- 我的Javascript函数一直在运行/循环