queue assets without detected faces

This commit is contained in:
mertalev 2025-05-14 20:36:32 -04:00
parent fdc8f91b18
commit 930961825e
No known key found for this signature in database
GPG Key ID: DF6ABC77AAD98C95

View File

@ -140,8 +140,7 @@ export class AssetJobRepository {
.selectFrom('assets') .selectFrom('assets')
.where('assets.visibility', '!=', AssetVisibility.HIDDEN) .where('assets.visibility', '!=', AssetVisibility.HIDDEN)
.where('assets.deletedAt', 'is', null) .where('assets.deletedAt', 'is', null)
.innerJoin('asset_job_status as job_status', 'assetId', 'assets.id') .innerJoin('asset_job_status as job_status', 'assetId', 'assets.id');
.where('job_status.previewAt', 'is not', null);
} }
@GenerateSql({ params: [], stream: true }) @GenerateSql({ params: [], stream: true })
@ -335,8 +334,13 @@ export class AssetJobRepository {
@GenerateSql({ params: [], stream: true }) @GenerateSql({ params: [], stream: true })
streamForDetectFacesJob(force?: boolean) { streamForDetectFacesJob(force?: boolean) {
return this.assetsWithPreviews() return this.db
.$if(!force, (qb) => qb.where('job_status.facesRecognizedAt', 'is', null)) .selectFrom('assets')
.$if(!force, (qb) =>
qb.where((eb) =>
eb.not(eb.exists(eb.selectFrom('asset_faces').whereRef('asset_faces.assetId', '=', 'assets.id'))),
),
)
.select(['assets.id']) .select(['assets.id'])
.orderBy('assets.createdAt', 'desc') .orderBy('assets.createdAt', 'desc')
.stream(); .stream();