mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-07-24 01:16:43 +08:00
Fix SharePoint connector not run after added (#17058)
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user