From 465407fbc24cbe7f96972f2c87be18958ae261f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxi=20Quo=C3=9F?= Date: Sat, 28 Jan 2023 13:55:42 +0100 Subject: [PATCH] improve WakeDevice func --- backend/networking/wake.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/backend/networking/wake.go b/backend/networking/wake.go index e5a3560d..b9524f4d 100644 --- a/backend/networking/wake.go +++ b/backend/networking/wake.go @@ -13,12 +13,17 @@ func WakeDevice(device *models.Record) error { return err } - // we wait 1 minute for the device to come up - // after that, we check the state - time.Sleep(1 * time.Minute) - isOnline := PingDevice(device) - if isOnline { - return nil + // check state every second for 2 min + start := time.Now() + for { + time.Sleep(1 * time.Second) + isOnline := PingDevice(device) + if isOnline { + return nil + } + if time.Since(start) >= 2*time.Minute { + break + } } return errors.New("device not online after 1 min") }