From 7efd3ba42fcb6c6d7822087f59594d5ca1ff3fb5 Mon Sep 17 00:00:00 2001 From: Weves Date: Mon, 8 Jan 2024 15:17:46 -0800 Subject: [PATCH] Add retries to Slack --- backend/danswer/connectors/slack/connector.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/backend/danswer/connectors/slack/connector.py b/backend/danswer/connectors/slack/connector.py index 596b93b22..5b8907094 100644 --- a/backend/danswer/connectors/slack/connector.py +++ b/backend/danswer/connectors/slack/connector.py @@ -13,6 +13,7 @@ from slack_sdk.web import SlackResponse from danswer.configs.app_configs import INDEX_BATCH_SIZE from danswer.configs.constants import DocumentSource +from danswer.connectors.cross_connector_utils.retry_wrapper import retry_builder from danswer.connectors.interfaces import GenerateDocumentsOutput from danswer.connectors.interfaces import LoadConnector from danswer.connectors.interfaces import PollConnector @@ -35,19 +36,25 @@ MessageType = dict[str, Any] # list of messages in a thread ThreadType = list[MessageType] +basic_retry_wrapper = retry_builder() + def _make_paginated_slack_api_call( call: Callable[..., SlackResponse], **kwargs: Any ) -> Generator[dict[str, Any], None, None]: return make_slack_api_call_paginated( - make_slack_api_rate_limited(make_slack_api_call_logged(call)) + basic_retry_wrapper( + make_slack_api_rate_limited(make_slack_api_call_logged(call)) + ) )(**kwargs) def _make_slack_api_call( call: Callable[..., SlackResponse], **kwargs: Any ) -> SlackResponse: - return make_slack_api_rate_limited(make_slack_api_call_logged(call))(**kwargs) + return basic_retry_wrapper( + make_slack_api_rate_limited(make_slack_api_call_logged(call)) + )(**kwargs) def get_channel_info(client: WebClient, channel_id: str) -> ChannelType: