Ich habe ein seltsames Problem, wo lange setTimeouts nicht auf Raspberry PI auslösen, aber sie tun auf Ubuntu/X64 und OSX.Lange setTimeout in NodeJS auf Raspberry PI
'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);
Dieser Code wird Alarm!
nach 8 Stunden auf Ubuntu/x64 Echo, aber es löst nie auf RPI.
Works:
- Ubuntu/x64
- OSX
funktioniert nicht:
- RPI b + mit Raspian 7 (Node 6.1)
- RPI 3 mit Raspian 8 (Knoten 4.4.4, 6.0 und 6.1)
Nach ps
das Skript ist in Sl
Zustand: Interruptible sleep (waiting for an event to complete), is multi-threaded (using CLONE_THREAD, like NPTL pthreads do).
In einer komplexeren Version dieses Codes, wo ich das Skript über eine Web-Benutzeroberfläche steuern kann, der „Alarm“ wird nach dem Satz gehen Zeit, aber nur wenn ich auf die Web-UI zugreife (um die Anwendung zu aktivieren?).
Ist das ein NodeJS Bug oder mache ich etwas funky?
diese gefunden, scheint ein bekanntes Problem zu sein: https://github.com/nodejs/node/issues/4262 – Znarkus
ich das gleiche erlebt. Dieses Problem ist noch offen – jamesfmackenzie