繁体   English   中英

Raspberry PI上的NodeJS中的long setTimeout

[英]Long setTimeout in NodeJS on Raspberry PI

我有一个奇怪的问题,即长时间的setTimeout不会在Raspberry PI上触发,但它们在Ubuntu / x64和OSX上运行。

'use strict';

const delay = 1000 * 3600 * 8;
const date = new Date();

date.setTime(new Date().getTime() + delay);
console.log('Alarm set to', date.toString());

setTimeout(function () {
    console.log('Alarm!', new Date());
}, delay);

此代码将回显Alarm! 在Ubuntu / x64上运行8小时后,但它从未在RPI上触发。

作品:

  • Ubuntu的/ 64
  • OSX

不起作用:

  • RPI b +与Raspian 7(节点6.1)
  • 带有Raspian 8的RPI 3(节点4.4.4,6.0和6.1)

根据ps ,脚本处于Sl状态:可Interruptible sleep (waiting for an event to complete), is multi-threaded (using CLONE_THREAD, like NPTL pthreads do).

在这个代码的更复杂版本中,我可以通过Web UI控制脚本,“警报”将在设置的时间后关闭,但仅在我访问Web UI(唤醒应用程序?)时。

这是一个NodeJS错误还是我做了一些时髦的事情?

添加此解决方案,直到修复NodeJS问题。

// Every 20 min to keep awake
setInterval(() => 1, 1000 * 60 * 20);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM