You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Whether the run actually finished. The faces queue emptying is not
447
+
# enough: files leave the queue when their TaskProcessing task is
448
+
# *scheduled*, not when its results are written back, so a drained queue
449
+
# with tasks still pending means those photos have no detections at all.
450
+
# Detection counts cannot be used here - a photo with no face in it
451
+
# legitimately produces no rows - so completeness is queue + task state.
452
+
QUEUE=$(sq "select count(*) from oc_recognize_queue_faces;")
453
+
PENDING=$(sq "select count(*) from oc_taskprocessing_tasks where app_id = 'recognize' and status in (0, 1, 2);")
454
+
FAILED=$(sq "select count(*) from oc_taskprocessing_tasks where app_id = 'recognize' and status = 4;")
455
+
TOTAL=$(sq "select count(*) from oc_taskprocessing_tasks where app_id = 'recognize';")
456
+
echo "final: faces queue=$QUEUE, pending tasks=$PENDING, failed tasks=$FAILED, total tasks=$TOTAL"
457
+
echo "photos on disk: $(find data/admin/files -type f | wc -l)"
458
+
DETECTIONS=$(sq "select count(*) from oc_recognize_face_detections;")
459
+
echo "photos with detections: $(sq "select count(distinct file_id) from oc_recognize_face_detections where user_id = 'admin';")"
460
+
echo "face detections: $DETECTIONS"
461
+
462
+
if [ "$QUEUE" -eq 0 ] && [ "$PENDING" -eq 0 ] && [ "$FAILED" -eq 0 ]; then
463
+
echo "complete=true" >> "$GITHUB_OUTPUT"
464
+
else
465
+
echo "complete=false" >> "$GITHUB_OUTPUT"
466
+
echo "::error title=Incomplete classification run::faces queue=$QUEUE, pending tasks=$PENDING, failed tasks=$FAILED of $TOTAL. Each pending task covers up to 500 photos, whose detections were never written. The detection DB will NOT be cached; the metrics below score only the photos that made it through."
467
+
fi
468
+
469
+
# Hard signal for this job: the TaskProcessing pipeline must actually
Copy file name to clipboardExpand all lines: appinfo/info.xml
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -75,7 +75,7 @@ Requirements:
75
75
The app does not send any sensitive data to cloud providers or similar services. All processing is done on your Nextcloud machine, using Tensorflow.js running in Node.js.
0 commit comments