fix genai leak

This commit is contained in:
Nicolas Mowen 2026-02-16 08:28:36 -07:00
parent 3101d5f27b
commit 6139e18df7

View File

@ -103,16 +103,19 @@ class ObjectDescriptionProcessor(PostProcessorApi):
logger.debug(f"{camera} sending early request to GenAI")
self.early_request_sent[data["id"]] = True
# Copy thumbnails to avoid holding references after cleanup
thumbnails_copy = [
data["thumbnail"][:] if data.get("thumbnail") else None
for data in self.tracked_events[data["id"]]
if data.get("thumbnail")
]
threading.Thread(
target=self._genai_embed_description,
name=f"_genai_embed_description_{event.id}",
daemon=True,
args=(
event,
[
data["thumbnail"]
for data in self.tracked_events[data["id"]]
],
thumbnails_copy,
),
).start()
@ -173,7 +176,10 @@ class ObjectDescriptionProcessor(PostProcessorApi):
[snapshot_image]
if event.has_snapshot and source == "snapshot"
else (
[data["thumbnail"] for data in self.tracked_events[event_id]]
# Copy thumbnails to avoid holding references
[data["thumbnail"][:] if data.get("thumbnail") else None
for data in self.tracked_events[event_id]
if data.get("thumbnail")]
if len(self.tracked_events.get(event_id, [])) > 0
else [thumbnail]
)
@ -277,7 +283,10 @@ class ObjectDescriptionProcessor(PostProcessorApi):
[snapshot_image]
if event.has_snapshot and camera_config.objects.genai.use_snapshot
else (
[data["thumbnail"] for data in self.tracked_events[event.id]]
# Copy thumbnails to avoid holding references after cleanup
[data["thumbnail"][:] if data.get("thumbnail") else None
for data in self.tracked_events[event.id]
if data.get("thumbnail")]
if num_thumbnails > 0
else [thumbnail]
)