javascript - 双间隔调用,它不应该在 node.js 中
问题描述
我在服务器端(node.js)有问题setInterval
。我想每天在特定时间检查一些东西,我设置了这样的间隔:
let maintainTime = backFunc.getNextMaintainTime(new Date());
let maintain = setInterval(() => {
let currentTime = new Date();
if (currentTime.getTime() > maintainTime.getTime()) {
maintainTime = backFunc.getNextMaintainTime(maintainTime);
//do the maintain
}
}, 360000);
//360000 to check on every hour
这是我的getNextMaintainTime
功能:
getNextMaintainTime: (maintainTime) => {
maintainTime.setDate(maintainTime.getDate() + 1);
maintainTime.setHours(4);
maintainTime.setMinutes(0);
maintainTime.setSeconds(0);
maintainTime.setMilliseconds(0);
return maintainTime;
}
当我对其进行测试时,它运行良好,但是当我在生产中启动服务器时,每次它在凌晨 4 点调用此函数 2 次而不是 1 次时,可能导致问题的原因是什么?
解决方案
推荐阅读
- html - 背景颜色和悬停不适用于可滚动 HTML 表格中的粘性列。表格设计也不是跨浏览器一致的
- php - 无法在 Docker 中安装 MongoDB PHP 扩展
- angular - 边缘浏览器不播放上传的 WAV 音频文件
- javascript - firebase:日期对象方法返回错误的值
- php - Yii2 Kartik 文件输入问题
- go - Goroutine 概念:直接调用 vs 使用函数字面量调用
- react-native - 反应本机键盘应该只推送文本输入而不是整个屏幕
- c# - 测试资源管理器 (VS) 显示 '
' - python - 带有 wsgi 的 gunicorn 问题的烧瓶
- c++ - ifstream 短路径在 c++、macos 中不起作用