23 lines
685 B
Python
23 lines
685 B
Python
from sqlalchemy.ext.asyncio import AsyncSession
|
|
from app.services.crawl_service import CrawlService
|
|
from app.crawler.gxgp_spider import GXGPSpider
|
|
from app.crawler.dahuagov_spider import DahuagovSpider
|
|
|
|
|
|
async def get_db() -> AsyncSession:
|
|
from app.main import async_session # 延迟导入避免循环引用
|
|
async with async_session() as session:
|
|
yield session
|
|
|
|
|
|
_crawl_service: CrawlService | None = None
|
|
|
|
|
|
def get_crawl_service() -> CrawlService:
|
|
global _crawl_service
|
|
if _crawl_service is None:
|
|
_crawl_service = CrawlService()
|
|
_crawl_service.register(GXGPSpider())
|
|
_crawl_service.register(DahuagovSpider())
|
|
return _crawl_service
|