mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-09-27 12:29:41 +02:00
Add retries to Slack
This commit is contained in:
@@ -13,6 +13,7 @@ from slack_sdk.web import SlackResponse
|
|||||||
|
|
||||||
from danswer.configs.app_configs import INDEX_BATCH_SIZE
|
from danswer.configs.app_configs import INDEX_BATCH_SIZE
|
||||||
from danswer.configs.constants import DocumentSource
|
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 GenerateDocumentsOutput
|
||||||
from danswer.connectors.interfaces import LoadConnector
|
from danswer.connectors.interfaces import LoadConnector
|
||||||
from danswer.connectors.interfaces import PollConnector
|
from danswer.connectors.interfaces import PollConnector
|
||||||
@@ -35,19 +36,25 @@ MessageType = dict[str, Any]
|
|||||||
# list of messages in a thread
|
# list of messages in a thread
|
||||||
ThreadType = list[MessageType]
|
ThreadType = list[MessageType]
|
||||||
|
|
||||||
|
basic_retry_wrapper = retry_builder()
|
||||||
|
|
||||||
|
|
||||||
def _make_paginated_slack_api_call(
|
def _make_paginated_slack_api_call(
|
||||||
call: Callable[..., SlackResponse], **kwargs: Any
|
call: Callable[..., SlackResponse], **kwargs: Any
|
||||||
) -> Generator[dict[str, Any], None, None]:
|
) -> Generator[dict[str, Any], None, None]:
|
||||||
return make_slack_api_call_paginated(
|
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)
|
)(**kwargs)
|
||||||
|
|
||||||
|
|
||||||
def _make_slack_api_call(
|
def _make_slack_api_call(
|
||||||
call: Callable[..., SlackResponse], **kwargs: Any
|
call: Callable[..., SlackResponse], **kwargs: Any
|
||||||
) -> SlackResponse:
|
) -> 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:
|
def get_channel_info(client: WebClient, channel_id: str) -> ChannelType:
|
||||||
|
Reference in New Issue
Block a user