簡體   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