mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-07-12 14:12:53 +02:00
[Connectors][Script] Resume Paused Connectors (#4798)
* [Connectors][Script] Resume Paused Connectors * Addressing comment
This commit is contained in:
67
backend/scripts/resume_paused_connectors.py
Normal file
67
backend/scripts/resume_paused_connectors.py
Normal file
@ -0,0 +1,67 @@
|
||||
import argparse
|
||||
|
||||
import requests
|
||||
|
||||
API_SERVER_URL = "http://localhost:3000"
|
||||
API_KEY = "onyx-api-key" # API key here, if auth is enabled
|
||||
HEADERS = {"Content-Type": "application/json", "Authorization": f"Bearer {API_KEY}"}
|
||||
|
||||
|
||||
def resume_paused_connectors(
|
||||
api_server_url: str,
|
||||
specific_connector_sources: list[str] | None = None,
|
||||
) -> None:
|
||||
# Get all paused connectors
|
||||
response = requests.get(
|
||||
f"{api_server_url}/api/manage/admin/connector/indexing-status",
|
||||
headers=HEADERS,
|
||||
)
|
||||
response.raise_for_status()
|
||||
|
||||
# Convert the response to a list of ConnectorIndexingStatus objects
|
||||
connectors = [cc_pair for cc_pair in response.json()]
|
||||
|
||||
# If a specific connector is provided, filter the connectors to only include that one
|
||||
if specific_connector_sources:
|
||||
connectors = [
|
||||
connector
|
||||
for connector in connectors
|
||||
if connector["connector"]["source"] in specific_connector_sources
|
||||
]
|
||||
|
||||
for connector in connectors:
|
||||
if connector["cc_pair_status"] == "PAUSED":
|
||||
print(f"Resuming connector: {connector['name']}")
|
||||
response = requests.put(
|
||||
f"{api_server_url}/api/manage/admin/cc-pair/{connector['cc_pair_id']}/status",
|
||||
json={"status": "ACTIVE"},
|
||||
headers=HEADERS,
|
||||
)
|
||||
response.raise_for_status()
|
||||
print(f"Resumed connector: {connector['name']}")
|
||||
|
||||
else:
|
||||
print(f"Connector {connector['name']} is not paused")
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description="Resume paused connectors")
|
||||
parser.add_argument(
|
||||
"--api_server_url",
|
||||
type=str,
|
||||
default=API_SERVER_URL,
|
||||
help="The URL of the API server to use. If not provided, will use the default.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--connector_sources",
|
||||
type=str.lower,
|
||||
nargs="+",
|
||||
help="The sources of the connectors to resume. If not provided, will resume all paused connectors.",
|
||||
)
|
||||
args = parser.parse_args()
|
||||
|
||||
resume_paused_connectors(args.api_server_url, args.connector_sources)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Reference in New Issue
Block a user