mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
use s6 to shutdown frigate
This commit is contained in:
parent
96319e795c
commit
a943ac1308
@ -18,6 +18,7 @@ import cv2
|
|||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import os
|
import os
|
||||||
|
import psutil
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -534,7 +535,13 @@ def clipped(obj, frame_shape):
|
|||||||
|
|
||||||
|
|
||||||
def restart_frigate():
|
def restart_frigate():
|
||||||
os.kill(os.getpid(), signal.SIGTERM)
|
proc = psutil.Process(1)
|
||||||
|
# if this is running via s6, sigterm pid 1
|
||||||
|
if proc.name() == "s6-svscan":
|
||||||
|
proc.terminate()
|
||||||
|
# otherwise, just try and exit frigate
|
||||||
|
else:
|
||||||
|
os.kill(os.getpid(), signal.SIGTERM)
|
||||||
|
|
||||||
|
|
||||||
class EventsPerSecond:
|
class EventsPerSecond:
|
||||||
|
@ -5,6 +5,10 @@ import time
|
|||||||
import os
|
import os
|
||||||
import signal
|
import signal
|
||||||
|
|
||||||
|
from frigate.util import (
|
||||||
|
restart_frigate,
|
||||||
|
)
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@ -30,6 +34,6 @@ class FrigateWatchdog(threading.Thread):
|
|||||||
detector.start_or_restart()
|
detector.start_or_restart()
|
||||||
elif not detector.detect_process.is_alive():
|
elif not detector.detect_process.is_alive():
|
||||||
logger.info("Detection appears to have stopped. Exiting frigate...")
|
logger.info("Detection appears to have stopped. Exiting frigate...")
|
||||||
os.kill(os.getpid(), signal.SIGTERM)
|
restart_frigate()
|
||||||
|
|
||||||
logger.info(f"Exiting watchdog...")
|
logger.info(f"Exiting watchdog...")
|
||||||
|
Loading…
Reference in New Issue
Block a user