matrix-org / matrix-org/matrix-python-sdk
No rate limiting
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 266
- Forks
- 118
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
~/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.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le chemin d’envoi montré dans matrix_client/api.py, en particulier send_message_event et _send, et comparez-le avec le scheduler lié de matrix-js-sdk. Le traceback de l’issue montre des réponses de limitation de débit de Matrix avec retry_after_ms ; la tâche ne pourra être considérée comme terminée qu’avec une conception de mise en file d’attente ou de nouvelle tentative convenue qui gère ces réponses.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript, python
- Domaine
- api, backend
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100