Fix SharePoint connector not run after added (#17058)

This commit is contained in:
Wang Qi
2026-07-21 10:06:01 +08:00
committed by GitHub
parent 5c95b57d85
commit 178b40cb25

View File

@@ -116,6 +116,7 @@ class ConnectorService(CommonService):
poll_range_start,
total_docs_indexed=total_docs_indexed,
task_type=ConnectorTaskType.SYNC,
run_immediately=True,
)
if prune_enabled:
@@ -123,6 +124,7 @@ class ConnectorService(CommonService):
connector_id,
c2k.kb_id,
task_type=ConnectorTaskType.PRUNE,
run_immediately=True,
)
@classmethod
@@ -140,9 +142,9 @@ class ConnectorService(CommonService):
SyncLogsService.filter_delete([SyncLogs.connector_id == connector_id, SyncLogs.kb_id == kb_id])
docs = DocumentService.query(source_type=f"{conn.source}/{conn.id}", kb_id=kb_id)
err = FileService.delete_docs([d.id for d in docs], tenant_id)
SyncLogsService.schedule(connector_id, kb_id, reindex=True, task_type=ConnectorTaskType.SYNC)
SyncLogsService.schedule(connector_id, kb_id, reindex=True, task_type=ConnectorTaskType.SYNC, run_immediately=True)
if (conn.config or {}).get("sync_deleted_files"):
SyncLogsService.schedule(connector_id, kb_id, task_type=ConnectorTaskType.PRUNE)
SyncLogsService.schedule(connector_id, kb_id, task_type=ConnectorTaskType.PRUNE, run_immediately=True)
return err
@classmethod
@@ -344,6 +346,7 @@ class SyncLogsService(CommonService):
reindex=False,
total_docs_indexed=0,
task_type=ConnectorTaskType.SYNC,
run_immediately=False,
):
try:
if cls.model.select().where(cls.model.kb_id == kb_id, cls.model.connector_id == connector_id).count() > 100:
@@ -369,10 +372,11 @@ class SyncLogsService(CommonService):
)
return None
reindex = "1" if reindex else "0"
task_id = get_uuid()
ConnectorService.update_by_id(connector_id, {"status": TaskStatus.SCHEDULE})
return cls.save(
ret = cls.save(
**{
"id": get_uuid(),
"id": task_id,
"kb_id": kb_id,
"status": TaskStatus.SCHEDULE,
"connector_id": connector_id,
@@ -383,6 +387,12 @@ class SyncLogsService(CommonService):
"time_started": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
}
)
if run_immediately:
DB.execute_sql(
f"UPDATE {cls.model._meta.table_name} SET update_time = %s, update_date = %s WHERE id = %s",
(0, datetime(1970, 1, 1), task_id),
)
return ret
except Exception as e:
logging.exception(e)
task = cls.get_latest_task(connector_id, kb_id, task_type)
@@ -490,10 +500,10 @@ class Connector2KbService(CommonService):
cls.filter_update([cls.model.connector_id == conn_id, cls.model.kb_id == kb_id], {"auto_parse": conn.get("auto_parse", "1")})
continue
cls.save(**{"id": get_uuid(), "connector_id": conn_id, "kb_id": kb_id, "auto_parse": conn.get("auto_parse", "1")})
SyncLogsService.schedule(conn_id, kb_id, reindex=True, task_type=ConnectorTaskType.SYNC)
SyncLogsService.schedule(conn_id, kb_id, reindex=True, task_type=ConnectorTaskType.SYNC, run_immediately=True)
e, full_conn = ConnectorService.get_by_id(conn_id)
if e and (full_conn.config or {}).get("sync_deleted_files"):
SyncLogsService.schedule(conn_id, kb_id, task_type=ConnectorTaskType.PRUNE)
SyncLogsService.schedule(conn_id, kb_id, task_type=ConnectorTaskType.PRUNE, run_immediately=True)
errs = []
for conn_id in old_conn_ids: