feature: improve admin directory and crawl progress

This commit is contained in:
Anton
2026-04-28 17:24:10 +03:00
parent 51d83d7062
commit 4bd5f26469
19 changed files with 1082 additions and 58 deletions

View File

@@ -0,0 +1,17 @@
from sqlalchemy import desc, select
from sqlalchemy.orm import Session
from app.config import Settings
from app.models import CrawlRun
from app.services.crawler import run_crawl
def get_running_run(db: Session) -> CrawlRun | None:
return db.scalar(select(CrawlRun).where(CrawlRun.status == "running").order_by(desc(CrawlRun.started_at)).limit(1))
def run_crawl_if_idle(db: Session, settings: Settings) -> tuple[CrawlRun, bool]:
running = get_running_run(db)
if running:
return running, False
return run_crawl(db, settings), True