From 4db626520a63d3f4250c15bf244d9f42f8fde80a Mon Sep 17 00:00:00 2001 From: jwansek Date: Mon, 23 Mar 2026 15:32:48 +0000 Subject: Added a timeout if it took too long --- autoBackup/.env.example | 2 ++ autoBackup/autoBackup.py | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/autoBackup/.env.example b/autoBackup/.env.example index af58add..3014264 100644 --- a/autoBackup/.env.example +++ b/autoBackup/.env.example @@ -15,3 +15,5 @@ MQTT_HOST=192.168.69.5 MQTT_USER=eden MQTT_PASSWORD=*********** SLAVE_PLUG_FRIENDLYNAME=TasmotaBackup + +GIVE_UP_AFTER_HOURS=12 diff --git a/autoBackup/autoBackup.py b/autoBackup/autoBackup.py index 7f1bc76..d88c650 100644 --- a/autoBackup/autoBackup.py +++ b/autoBackup/autoBackup.py @@ -281,7 +281,7 @@ def wait_till_idle_power(): while True: p = get_mqtt().switch_energy['Power'] logging.info("'%s' plug is using %dw of power" % (os.environ["SLAVE_PLUG_FRIENDLYNAME"], p)) - if p == 0: + if p <= 5: break def main(): @@ -338,13 +338,16 @@ def main(): ) as master ): if check_if_all_complete([master, slave]): + logging.info("All replication jobs on all hosts complete") + break + + if start_time + datetime.timedelta(hours = int(os.environ["GIVE_UP_AFTER_HOURS"])) < datetime.datetime.now(): + logging.info("Replication took longer than %dh, so gave up." % int(os.environ["GIVE_UP_AFTER_HOURS"])) break logging.info("Slave plug '%s' is using %dw of power" % (os.environ["SLAVE_PLUG_FRIENDLYNAME"], get_mqtt().switch_energy['Power'])) time.sleep(int(os.environ["POLLING_RATE"])) - logging.info("All replication jobs on all hosts complete") - if was_already_on: logging.info("The slave TrueNAS was turned on not by us, so stopping here") else: -- cgit v1.2.3