From 92f5ec8040055208aa6098495705a1859cc2cef6 Mon Sep 17 00:00:00 2001 From: Jenny Chen Date: Sat, 1 Feb 2025 16:01:10 -0800 Subject: [PATCH] update file connector status to paused after succefully indexing --- .../onyx/background/indexing/run_indexing.py | 25 ++++++++ .../[ccPairId]/ModifyStatusButtonCluster.tsx | 63 ++++++++++--------- .../app/admin/connector/[ccPairId]/page.tsx | 9 +-- 3 files changed, 63 insertions(+), 34 deletions(-) diff --git a/backend/onyx/background/indexing/run_indexing.py b/backend/onyx/background/indexing/run_indexing.py index 94f8cb01be7d..83cda85a6606 100644 --- a/backend/onyx/background/indexing/run_indexing.py +++ b/backend/onyx/background/indexing/run_indexing.py @@ -532,6 +532,31 @@ def _run_indexing( f"elapsed={elapsed_time:.2f}s" ) + cc_pair = get_connector_credential_pair_from_id( + db_session=db_session_temp, + cc_pair_id=ctx.cc_pair_id, + ) + + if cc_pair: + logger.info( + f"Checking FILE connector status: source={cc_pair.connector.source}, " + f"status={cc_pair.status}, cc_pair_id={ctx.cc_pair_id}" + ) + + if ( + cc_pair.connector.source == DocumentSource.FILE + and cc_pair.status == ConnectorCredentialPairStatus.ACTIVE + ): + logger.info( + f"Pausing FILE connector after successful indexing: cc_pair_id={ctx.cc_pair_id}" + ) + update_connector_credential_pair( + db_session=db_session, + connector_id=ctx.connector_id, + credential_id=ctx.credential_id, + status=ConnectorCredentialPairStatus.PAUSED, + ) + if ctx.is_primary: update_connector_credential_pair( db_session=db_session_temp, diff --git a/web/src/app/admin/connector/[ccPairId]/ModifyStatusButtonCluster.tsx b/web/src/app/admin/connector/[ccPairId]/ModifyStatusButtonCluster.tsx index b5b4e7ecbf2f..08d16929475e 100644 --- a/web/src/app/admin/connector/[ccPairId]/ModifyStatusButtonCluster.tsx +++ b/web/src/app/admin/connector/[ccPairId]/ModifyStatusButtonCluster.tsx @@ -8,6 +8,7 @@ import { buildCCPairInfoUrl } from "./lib"; import { setCCPairStatus } from "@/lib/ccPair"; import { useState } from "react"; import { LoadingAnimation } from "@/components/Loading"; +import { ValidSources } from "@/lib/types"; export function ModifyStatusButtonCluster({ ccPair, @@ -48,39 +49,45 @@ export function ModifyStatusButtonCluster({ ? "Click to start indexing again!" : "When paused, the connector's documents will still be visible. However, no new documents will be indexed."; + const isPausedFileConnector = + ccPair.connector.source === ValidSources.File && + ccPair.status === ConnectorCredentialPairStatus.PAUSED; + return ( <> {popup} - + ? ConnectorCredentialPairStatus.ACTIVE + : ConnectorCredentialPairStatus.PAUSED + ) + } + tooltip={tooltip} + > + {isUpdating ? ( + + ) : ( + buttonText + )} + + )} ); } diff --git a/web/src/app/admin/connector/[ccPairId]/page.tsx b/web/src/app/admin/connector/[ccPairId]/page.tsx index 677f22913a30..0afe78a70daa 100644 --- a/web/src/app/admin/connector/[ccPairId]/page.tsx +++ b/web/src/app/admin/connector/[ccPairId]/page.tsx @@ -210,9 +210,8 @@ function Main({ ccPairId }: { ccPairId: number }) { } const isDeleting = ccPair.status === ConnectorCredentialPairStatus.DELETING; - const isSuccessFileConnector = - ccPair.connector.source === ValidSources.File && - ccPair.last_index_attempt_status === "success"; + + console.log(ccPair); const refresh = () => { mutate(buildCCPairInfoUrl(ccPairId)); @@ -286,9 +285,7 @@ function Main({ ccPairId }: { ccPairId: number }) { isDeleting={isDeleting} /> )} - {!isDeleting && !isSuccessFileConnector && ( - - )} + {!isDeleting && } )}