add autorestart rec
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
"""
|
||||
Исправленная версия для проверки Audio без AiConclusion
|
||||
"""
|
||||
from sqlalchemy import exists
|
||||
|
||||
|
||||
def get_audio_without_conclusion(db, limit=100):
|
||||
"""
|
||||
Находит все Audio, у которых нет AiConclusion
|
||||
|
||||
Использует подзапрос через exists, так как AiConclusion - это relationship
|
||||
"""
|
||||
# Импортируем модели
|
||||
from apiApp.database.Audio import Audio
|
||||
from apiApp.database.AiConclusion import AiConclusion
|
||||
|
||||
# Создаём подзапрос для проверки наличия AiConclusion
|
||||
subquery = db.query(AiConclusion.audio_id).filter(
|
||||
AiConclusion.audio_id == Audio.id
|
||||
)
|
||||
|
||||
# Находим Audio без AiConclusion
|
||||
pending_audio = db.query(Audio).filter(
|
||||
~exists().where(subquery.exists())
|
||||
).order_by(Audio.index_date.asc()).limit(limit).all()
|
||||
|
||||
# Считаем total
|
||||
total_pending = db.query(Audio).filter(
|
||||
~exists().where(subquery.exists())
|
||||
).count()
|
||||
|
||||
return pending_audio, total_pending
|
||||
Reference in New Issue
Block a user