Implement a configurable rate limit
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- python
- Área
- embedded-iot, networking
Línea de trabajo
Comienza siguiendo la ruta de envío de mensajes de python-can utilizada por canopen y examinando cómo podrían programarse los mensajes en cola sin descartar tramas. Se considera terminado cuando se haya definido un límite configurable de mensajes por segundo y las transmisiones en cola respeten el intervalo solicitado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I am using python-can (more specifically canopen) to send out messages to a bunch or nodes.
Issues seem to arise when I send a lot of packets at the same time, my assumption is that the recipients can not keep up with the frame stream, and thus packets are dropped.
My Idea is to implement some sort of rate limiting, for example by passing messages to a queue and having the library send out all queued messages with an interval inbetween.
Something like
queue = queue.Queue()
while True:
msg = queue.get() # blocking
transmit(msg)
time.sleep(1 / self.max_messages_per_second)
Cheers!
- Lenguaje dominante
- Python
- Estrellas
- 1.6k
- Forks
- 697
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de hardbyte/python-can
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
hardbyte/python-can#2103 ·
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
hardbyte/python-can#2077 · 1 comentario · 1 reacción ·
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
hardbyte/python-can#1922 · 1 reacción ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
hardbyte/python-can#2102 ·
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
hardbyte/python-can#2092 ·
Todos los issues de hardbyte/python-can
Issues similares
-
bug confirmed issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
open-webui/open-webui#30750 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100