summaryrefslogtreecommitdiffstats
path: root/server/api/wakerequests.js
diff options
context:
space:
mode:
authorUdo Walter2019-04-16 15:49:36 +0200
committerUdo Walter2019-04-16 15:49:36 +0200
commit598c9ba86dabdb1160d5d42b2bc789424424032b (patch)
tree9e09fd4b61437ba6364fed917a7eb11c5f7df4a6 /server/api/wakerequests.js
parent[eventmanager] fix blacklist clients (diff)
downloadbas-598c9ba86dabdb1160d5d42b2bc789424424032b.tar.gz
bas-598c9ba86dabdb1160d5d42b2bc789424424032b.tar.xz
bas-598c9ba86dabdb1160d5d42b2bc789424424032b.zip
[server] add 10ms delay between wol packets
Diffstat (limited to 'server/api/wakerequests.js')
-rw-r--r--server/api/wakerequests.js16
1 files changed, 13 insertions, 3 deletions
diff --git a/server/api/wakerequests.js b/server/api/wakerequests.js
index 37670d4..f619bd9 100644
--- a/server/api/wakerequests.js
+++ b/server/api/wakerequests.js
@@ -8,9 +8,19 @@ var router = decorateApp(express.Router())
router.postAsync('', async (req, res) => {
const clients = await db.client.findAll({ where: { id: req.body.clients } })
- clients.forEach(client => {
- wol.wake(client.mac, { address: client.ip.slice(0, client.ip.lastIndexOf('.') + 1) + '255' }, err => { if (err) console.log(err) })
- })
+
+ let i = 0
+ const loop = () => {
+ setTimeout(() => {
+ let client = clients[i]
+ console.log('Waking up: ' + client.name + ' (' + client.mac + ')')
+ wol.wake(client.mac, { address: client.ip.slice(0, client.ip.lastIndexOf('.') + 1) + '255' }, err => { if (err) console.log(err) })
+ i++
+ if (i < clients.length) loop()
+ }, 10)
+ }
+ loop()
+
res.status(200).end()
})