API Cursor Pagination Performance : conversations.list
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- api, backend-api-design
Hướng nghiên cứu
Bắt đầu với các entry point của slack_sdk.web.WebClient cho conversations.list, chat.update và chat.postMessage, sau đó kiểm tra cách phân trang bằng cursor và việc xử lý tên kênh được cung cấp. Issue đưa ra nhiều giải pháp khả thi, vì vậy để hoàn thành cần lựa chọn và xác định rõ SDK sẽ phân giải tên trực tiếp, tối ưu hóa phân trang hay đồng bộ các method liên quan đến message, với các test bao phủ hành vi đã chọn.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The behavior characteristics and performance of iterating the cursor through conversations.list is truly awful when it is being used to resolve a channel name to a channel id.
For example, if I create a new channel in an org that's been around for a while, with limit=200, that channel is returned on page 135, and the pagination sequence takes 7m38.503s to resolve with 20 calls per minute (tier 2 rate limit).
When inspecting the responses, it can be seen that the channels returned never reach the limit count, and progressively diminish, eventually returning no results across cursors, sometimes 2, sometimes 10, etc., until finally resolving.
Please, either create a new class of methods that support resolving user or channel names directly to their IDs, or optimize the data that feeds the pagination to enable the methods to return valuable data earlier in the pagination sequence.
This is related to the last bullet under Just The Facts:
It's possible to receive fewer results than your specified limit, even when there are additional results to retrieve.
Note
This started when looking at chat.update and seeing that it required a channel id rather than a channel name (I tested it and it's not just a docs issue...). Rather than fixing the above situation, if you can align the chat.postMessage and chat.update methods to both accept a channel name, then that would satisfy my original problem. Though, the above deficiency will still exist. I've made a separate issue for this here.
Category (place an x in each of the [ ])
- [X ] slack_sdk.web.WebClient (sync/async) (Web API client)
- slack_sdk.webhook.WebhookClient (sync/async) (Incoming Webhook, response_url sender)
- slack_sdk.models (UI component builders)
- slack_sdk.oauth (OAuth Flow Utilities)
- slack_sdk.socket_mode (Socket Mode client)
- slack_sdk.audit_logs (Audit Logs API client)
- slack_sdk.scim (SCIM API client)
- slack_sdk.rtm (RTM client)
- slack_sdk.signature (Request Signature Verifier)
- Ngôn ngữ chính
- Python
- Star
- 4k
- Fork
- 857
- Merge trung bình
- 22 giờ 21 phút
- Pull request đã merge (30 ngày)
- 16
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của slackapi/python-slack-sdk
-
needs info server-side-issue
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
slackapi/python-slack-sdk#1961 · 3 bình luận ·
-
Use logger.isEnabledFor(logging.DEBUG) instead of logger.level <= logging.DEBUG for debug guards Đang mởauto-triage-skip bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
slackapi/python-slack-sdk#1957 ·
-
auto-triage-skip discussion
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
slackapi/python-slack-sdk#1940 · 2 bình luận ·
-
chat_postMessage silently forwards thread_id to the API, so a threaded reply posts to the channel Đang mởauto-triage-skip enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
slackapi/python-slack-sdk#1923 · 2 bình luận ·
-
SocketModeClient.connect() retries forever against a permanently closed aiohttp ClientSession Đang mởauto-triage-skip bug socket-mode
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 72/100
slackapi/python-slack-sdk#1922 · 2 bình luận ·
Tất cả issue của slackapi/python-slack-sdk
Issue tương tự
-
[Bug] reef-hermes tells me to resume with hermes --resume, which does not work from my shell Đang mởarea: harness bug status: needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Human-Agent-Society/reef#625 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100
learningequality/kolibri#15351 · 2 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Name consistency Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
eellak/triplestore#65 · 1 bình luận ·