matrix-org / matrix-org/matrix-python-sdk
No rate limiting
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 266
- Fork
- 118
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
~/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.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dal percorso di invio mostrato in matrix_client/api.py, in particolare send_message_event e _send, e confrontalo con lo scheduler collegato di matrix-js-sdk. Il traceback della issue mostra risposte di limitazione della frequenza di Matrix con retry_after_ms; per considerare il lavoro completato sarebbe necessario un design concordato per la messa in coda o i nuovi tentativi che gestisca queste risposte.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, python
- Ambito
- api, backend
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100