feat: add BookStack connector for wiki documentation indexing

This commit is contained in:
Differ 2025-12-04 14:08:44 +08:00
parent e0725741c9
commit 6b1b8d0f2e
18 changed files with 1362 additions and 1 deletions

View file

@ -643,3 +643,46 @@ async def _index_crawled_urls(
await run_web_page_indexing(
session, connector_id, search_space_id, user_id, start_date, end_date
)
@celery_app.task(name="index_bookstack_pages", bind=True)
def index_bookstack_pages_task(
self,
connector_id: int,
search_space_id: int,
user_id: str,
start_date: str,
end_date: str,
):
"""Celery task to index BookStack pages."""
import asyncio
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
try:
loop.run_until_complete(
_index_bookstack_pages(
connector_id, search_space_id, user_id, start_date, end_date
)
)
finally:
loop.close()
async def _index_bookstack_pages(
connector_id: int,
search_space_id: int,
user_id: str,
start_date: str,
end_date: str,
):
"""Index BookStack pages with new session."""
from app.routes.search_source_connectors_routes import (
run_bookstack_indexing,
)
async with get_celery_session_maker()() as session:
await run_bookstack_indexing(
session, connector_id, search_space_id, user_id, start_date, end_date
)