summaryrefslogtreecommitdiffstats
path: root/server/bin
diff options
context:
space:
mode:
authorChristian Hofmaier2019-04-18 02:11:38 +0200
committerChristian Hofmaier2019-04-18 02:11:38 +0200
commit12ad108b7e0cdcb4bfa6c976a4633cfa1c4a3eff (patch)
tree4713ca7bcc028a20c23b3af5b5945bded61c237b /server/bin
parent[server/external-backends/infoblox] Fix update domain (diff)
downloadbas-12ad108b7e0cdcb4bfa6c976a4633cfa1c4a3eff.tar.gz
bas-12ad108b7e0cdcb4bfa6c976a4633cfa1c4a3eff.tar.xz
bas-12ad108b7e0cdcb4bfa6c976a4633cfa1c4a3eff.zip
[scheduler] schedule events on startup
Diffstat (limited to 'server/bin')
-rw-r--r--server/bin/scheduler.js12
1 files changed, 11 insertions, 1 deletions
diff --git a/server/bin/scheduler.js b/server/bin/scheduler.js
index ddb96d8..f13e329 100644
--- a/server/bin/scheduler.js
+++ b/server/bin/scheduler.js
@@ -11,11 +11,20 @@ socket.on('message', calcNextWake)
const runningTimeouts = {}
+scheduleAllEvents()
+
+async function scheduleAllEvents () {
+ var events = await db.event.findAll()
+ events.forEach(event => {
+ if (event.wakeonlan) calcNextWake(event.id)
+ })
+}
+
async function calcNextWake (id) {
id = id.toString()
var event = await db.event.findOne({ where: { id: id }, include: ['groups', 'clients'] })
- // Event got deleted
+ // Event got deleted or was updated to be not wakeonlan anymore
if (event === null || !event.wakeonlan) {
clearTimeout(runningTimeouts[id])
delete runningTimeouts[id]
@@ -50,6 +59,7 @@ async function calcNextWake (id) {
}, nextWake)
*/
}
+ if (nextWake > 0) console.log('Scheduled event ' + event.name + ' in ' + nextWake + 'ms')
}
// Wake all clients of event