Add a SIGTERM handler to gracefully shutdown process

This commit is contained in:
lowar
2024-10-27 23:22:46 +01:00
parent 9364a6ce3a
commit 7418ebb9e7
+8
View File
@@ -10,6 +10,7 @@ import sys
import getopt
import yaml
import time
import signal
def main():
configfilename = 'config.yaml'
@@ -145,6 +146,8 @@ def main():
scan_interval = config_inverter.get('scan_interval')
signal.signal(signal.SIGTERM, handle_sigterm)
# Core polling loop
while True:
loop_start = time.perf_counter()
@@ -181,6 +184,11 @@ def main():
logging.info(f'Next scrape in {int(scan_interval - process_time)} secs')
time.sleep(scan_interval - process_time)
def handle_sigterm(signum, frame):
print("Received SIGTERM, shutting down gracefully...")
# Perform any cleanup here
exit(0)
logging.basicConfig(
format='%(asctime)s %(levelname)-8s %(message)s',
level=logging.DEBUG,