Recovered state: integrated TrendSurferAgent, restored frontend/backend files, and cleaned up recovery scripts

This commit is contained in:
ajaysi
2026-02-08 13:56:57 +05:30
parent 1db10ccd0f
commit e404a86502
333 changed files with 42223 additions and 10875 deletions

View File

@@ -0,0 +1,45 @@
"""
SIF Indexing Task Loader
Loads due SIF indexing tasks from the database.
"""
from datetime import datetime
from typing import List
from sqlalchemy.orm import Session
from sqlalchemy import or_
from models.website_analysis_monitoring_models import SIFIndexingTask
from utils.logger_utils import get_service_logger
logger = get_service_logger("sif_indexing_task_loader")
def load_due_sif_indexing_tasks(db: Session, user_id: str = None) -> List[SIFIndexingTask]:
"""
Load SIF indexing tasks that are due for execution.
Args:
db: Database session
user_id: Optional user_id to filter by
Returns:
List of SIFIndexingTask objects
"""
try:
query = db.query(SIFIndexingTask).filter(
or_(
SIFIndexingTask.status == "pending",
SIFIndexingTask.status == "failed" # Retry failed tasks
),
SIFIndexingTask.next_run_at <= datetime.utcnow()
)
if user_id:
query = query.filter(SIFIndexingTask.user_id == user_id)
tasks = query.all()
return tasks
except Exception as e:
logger.error(f"Error loading SIF indexing tasks: {str(e)}")
return []