mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-05-03 06:50:58 +00:00
Compare commits
No commits in common. "27914fc3b85a9f35a7779a50f6cbd4e28972cad6" and "9b7d4d0a8fc57dad1d74a12af7e96758d9da191a" have entirely different histories.
27914fc3b8
...
9b7d4d0a8f
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user