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,32 @@
"""
Advertools Task Loader Utility
Utility functions for loading due Advertools tasks from the database.
"""
from typing import List, Optional
from datetime import datetime
from sqlalchemy.orm import Session
from models.advertools_monitoring_models import AdvertoolsTask
def load_due_advertools_tasks(db: Session, user_id: Optional[str] = None) -> List[AdvertoolsTask]:
"""
Load Advertools tasks that are due for execution.
Args:
db: Database session
user_id: Optional user ID to filter tasks (for multi-tenant support)
Returns:
List of due AdvertoolsTask objects
"""
now = datetime.utcnow()
query = db.query(AdvertoolsTask).filter(
AdvertoolsTask.status == 'active',
AdvertoolsTask.next_execution <= now
)
if user_id:
query = query.filter(AdvertoolsTask.user_id == user_id)
return query.all()