Compare commits

..

No commits in common. "27914fc3b85a9f35a7779a50f6cbd4e28972cad6" and "9b7d4d0a8fc57dad1d74a12af7e96758d9da191a" have entirely different histories.

3 changed files with 5 additions and 18 deletions

View File

@ -44,7 +44,6 @@ from frigate.embeddings import EmbeddingsContext, manage_embeddings
from frigate.events.audio import AudioProcessor from frigate.events.audio import AudioProcessor
from frigate.events.cleanup import EventCleanup from frigate.events.cleanup import EventCleanup
from frigate.events.maintainer import EventProcessor from frigate.events.maintainer import EventProcessor
from frigate.log import _stop_logging
from frigate.models import ( from frigate.models import (
Event, Event,
Export, Export,
@ -772,7 +771,4 @@ class FrigateApp:
shm.close() shm.close()
shm.unlink() shm.unlink()
# exit the mp Manager process
_stop_logging()
os._exit(os.EX_OK) os._exit(os.EX_OK)

View File

@ -97,9 +97,6 @@ class BirdRealTimeProcessor(RealTimeProcessorApi):
line = f.readline() line = f.readline()
def process_frame(self, obj_data, frame): def process_frame(self, obj_data, frame):
if not self.interpreter:
return
if obj_data["label"] != "bird": if obj_data["label"] != "bird":
return return

View File

@ -1,4 +1,3 @@
# In log.py
import atexit import atexit
import logging import logging
import multiprocessing as mp import multiprocessing as mp
@ -7,7 +6,6 @@ import sys
import threading import threading
from collections import deque from collections import deque
from logging.handlers import QueueHandler, QueueListener from logging.handlers import QueueHandler, QueueListener
from queue import Queue
from typing import Deque, Optional from typing import Deque, Optional
from frigate.util.builtin import clean_camera_user_pass from frigate.util.builtin import clean_camera_user_pass
@ -34,14 +32,12 @@ LOG_HANDLER.addFilter(
) )
log_listener: Optional[QueueListener] = None log_listener: Optional[QueueListener] = None
log_queue: Optional[Queue] = None
manager = None
def setup_logging() -> None: def setup_logging() -> None:
global log_listener, log_queue, manager global log_listener
manager = mp.Manager()
log_queue = manager.Queue() log_queue: mp.Queue = mp.Queue()
log_listener = QueueListener(log_queue, LOG_HANDLER, respect_handler_level=True) log_listener = QueueListener(log_queue, LOG_HANDLER, respect_handler_level=True)
atexit.register(_stop_logging) atexit.register(_stop_logging)
@ -57,13 +53,11 @@ def setup_logging() -> None:
def _stop_logging() -> None: def _stop_logging() -> None:
global log_listener, manager global log_listener
if log_listener is not None: if log_listener is not None:
log_listener.stop() log_listener.stop()
log_listener = None log_listener = None
if manager is not None:
manager.shutdown()
manager = None
# When a multiprocessing.Process exits, python tries to flush stdout and stderr. However, if the # When a multiprocessing.Process exits, python tries to flush stdout and stderr. However, if the