manual submit
This commit is contained in:
@@ -265,7 +265,8 @@ class ComfyClient:
|
||||
prompt_id, source, user_label, overrides, seed
|
||||
)
|
||||
for i, img_data in enumerate(images):
|
||||
generation_db.record_file(gen_id, f"image_{i:04d}.png", img_data)
|
||||
file_id = generation_db.record_file(gen_id, f"image_{i:04d}.png", img_data)
|
||||
self._schedule_face_scan("image", file_id, img_data)
|
||||
if videos and self.output_path:
|
||||
for vid in videos:
|
||||
vname = vid.get("video_name", "")
|
||||
@@ -276,7 +277,9 @@ class ComfyClient:
|
||||
else _Path(self.output_path) / vname
|
||||
)
|
||||
try:
|
||||
generation_db.record_file(gen_id, vname, vpath.read_bytes())
|
||||
vid_data = vpath.read_bytes()
|
||||
file_id = generation_db.record_file(gen_id, vname, vid_data)
|
||||
self._schedule_face_scan("video", file_id, vid_data)
|
||||
except OSError as exc:
|
||||
self.logger.warning(
|
||||
"Could not read video for DB storage: %s: %s", vpath, exc
|
||||
@@ -284,6 +287,21 @@ class ComfyClient:
|
||||
except Exception as exc:
|
||||
self.logger.warning("Failed to record generation to DB: %s", exc)
|
||||
|
||||
def _schedule_face_scan(self, media_type: str, file_id: int, data: bytes) -> None:
|
||||
"""Fire-and-forget background face scan for a generated output file."""
|
||||
try:
|
||||
from face_service import get_face_service
|
||||
svc = get_face_service()
|
||||
if not svc.available:
|
||||
return
|
||||
loop = asyncio.get_running_loop()
|
||||
if media_type == "image":
|
||||
loop.create_task(svc.scan_output_image(file_id, data))
|
||||
elif media_type == "video":
|
||||
loop.create_task(svc.scan_video(file_id, data))
|
||||
except Exception as exc:
|
||||
self.logger.warning("Could not schedule face scan: %s", exc)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Public generation API
|
||||
# ------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user