matrix-org / matrix-org/matrix-python-sdk

No rate limiting

Đang mở
#6 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Api layer architecture enhancement
Ngôn ngữ chính
Python
Star
266
Fork
118
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

~/Projects/mcat $ cat mcat.py | env/bin/python mcat.py --room "!CJDvntNEPGQmykeIrB:whatthefuck.computer" --stdin -c ~/.mcatrc 
Traceback (most recent call last):
  File "mcat.py", line 55, in <module>
    mcat.f_to_matrix(sys.stdin)
  File "mcat.py", line 24, in f_to_matrix
    self.room.send_text(line)
  File "/home/rrix/Projects/mcat/env/lib/python2.7/site-packages/matrix_client/client.py", line 169, in send_text
    return self.client.api.send_message(self.room_id, text)
  File "/home/rrix/Projects/mcat/env/lib/python2.7/site-packages/matrix_client/api.py", line 194, in send_message
    self.get_text_body(text_content, msgtype)
  File "/home/rrix/Projects/mcat/env/lib/python2.7/site-packages/matrix_client/api.py", line 183, in send_message_event
    return self._send("PUT", path, content)
  File "/home/rrix/Projects/mcat/env/lib/python2.7/site-packages/matrix_client/api.py", line 319, in _send
    code=response.status_code, content=response.text
matrix_client.api.MatrixRequestError: 429: {"errcode":"M_LIMIT_EXCEEDED","error":"Too Many Requests","retry_after_ms":1214}

The javascript SDK implements a fairly complex queuing system, I'm going to strawman something similar to that, shortly.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu với đường dẫn gửi được hiển thị trong matrix_client/api.py, đặc biệt là send_message_event và _send, rồi so sánh với scheduler được liên kết của matrix-js-sdk. traceback của issue cho thấy các phản hồi giới hạn tốc độ của Matrix có retry_after_ms; để được xem là hoàn tất, cần có một thiết kế xếp hàng hoặc thử lại đã được thống nhất để xử lý các phản hồi này.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
javascript, python
Lĩnh vực
api, backend
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.