debug timeouts

This commit is contained in:
Josh Hawkins 2024-09-23 14:11:31 -05:00
parent f58e230122
commit 0e312af43b

View File

@ -70,11 +70,14 @@ class EmbeddingMaintainer(threading.Thread):
def _process_updates(self) -> None:
"""Process event updates"""
update = self.event_subscriber.check_for_update()
logger.info("processing event updates")
update = self.event_subscriber.check_for_update(timeout=1)
if update is None:
return
logger.info("not returning from _process_updates")
source_type, _, camera, data = update
if not camera or source_type != EventTypeEnum.tracked_object:
@ -98,12 +101,14 @@ class EmbeddingMaintainer(threading.Thread):
def _process_finalized(self) -> None:
"""Process the end of an event."""
while True:
ended = self.event_end_subscriber.check_for_update()
if ended == None:
break
logger.info("processing finalized")
ended = self.event_end_subscriber.check_for_update(timeout=1)
if ended is None:
return
logger.info("not returning from _process_finalized")
event_id, camera, updated_db = ended
camera_config = self.config.cameras[camera]
@ -111,11 +116,11 @@ class EmbeddingMaintainer(threading.Thread):
try:
event: Event = Event.get(Event.id == event_id)
except DoesNotExist:
continue
return
# Skip the event if not an object
if event.data.get("type") != "object":
continue
return
# Extract valid event metadata
metadata = get_metadata(event)
@ -136,10 +141,7 @@ class EmbeddingMaintainer(threading.Thread):
daemon=True,
args=(
event,
[
data["thumbnail"]
for data in self.tracked_events[event_id]
]
[data["thumbnail"] for data in self.tracked_events[event_id]]
if len(self.tracked_events.get(event_id, [])) > 0
else [thumbnail],
metadata,
@ -153,12 +155,14 @@ class EmbeddingMaintainer(threading.Thread):
def _process_event_metadata(self):
# Check for regenerate description requests
logger.info("processing event metadata")
(topic, event_id) = self.event_metadata_subscriber.check_for_update()
(topic, event_id) = self.event_metadata_subscriber.check_for_update(timeout=1)
logger.info(f"in init in maintainer, {topic} {event_id}")
if topic is None:
return
logger.info("not returning from _process_event_metadata")
if event_id:
logger.info(f"in maintainer: {event_id}")
# self.handle_regenerate_description(event_id)