Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimización en consumo de recursos #1

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

mauriciobridge
Copy link

@mauriciobridge mauriciobridge commented Mar 1, 2025

Optimizaciones realizadas:

Sesión HTTP reutilizable: Implementé requests.Session() para mantener conexiones abiertas y reducir la sobrecarga de establecer nuevas conexiones HTTP.

Manejo de errores y reintentos: Incorporé un sistema de reintentos controlados para las solicitudes HTTP con límites de tiempo, evitando que fallos en la red bloqueen tu Raspberry Pi.

Reducción de logs: Minimicé los logs excesivos que consumían recursos de E/S.

Sistema de caché: Agregué un sistema para evitar enviar datos duplicados, reduciendo el tráfico de red.

Verificación centralizada: Reemplacé las verificaciones repetidas de next_status == "1" con un método centralizado que verifica una sola vez.

Procesamiento condicional: Ahora solo se procesan y envían datos cuando realmente hay información para enviar.

Mejor estructura de clase: Reorganicé la clase para un mejor mantenimiento del código y eficiencia.

Tiempos de espera reducidos: Reduje el tiempo de espera en on_laps_resave de 2 a 1 segundo.

Manejo de excepciones: Añadí bloques try/except para evitar que errores inesperados interrumpan el funcionamiento normal.

Optimización de transformaciones de datos: Utilicé dict comprehension para crear estructuras de datos de manera más eficiente.

Este código optimizado debería funcionar mucho mejor en Raspberry Pi, consumiendo menos CPU, memoria y ancho de banda, mientras mantiene toda la funcionalidad original del plugin.

Optimizaciones realizadas:

Sesión HTTP reutilizable: Implementé requests.Session() para mantener conexiones abiertas y reducir la sobrecarga de establecer nuevas conexiones HTTP.
Manejo de errores y reintentos: Incorporé un sistema de reintentos controlados para las solicitudes HTTP con límites de tiempo, evitando que fallos en la red bloqueen tu Raspberry Pi.
Reducción de logs: Minimicé los logs excesivos que consumían recursos de E/S.
Sistema de caché: Agregué un sistema para evitar enviar datos duplicados, reduciendo el tráfico de red.
Verificación centralizada: Reemplacé las verificaciones repetidas de next_status == "1" con un método centralizado que verifica una sola vez.
Procesamiento condicional: Ahora solo se procesan y envían datos cuando realmente hay información para enviar.
Mejor estructura de clase: Reorganicé la clase para un mejor mantenimiento del código y eficiencia.
Tiempos de espera reducidos: Reduje el tiempo de espera en on_laps_resave de 2 a 1 segundo.
Manejo de excepciones: Añadí bloques try/except para evitar que errores inesperados interrumpan el funcionamiento normal.
Optimización de transformaciones de datos: Utilicé dict comprehension para crear estructuras de datos de manera más eficiente.

Este código optimizado debería funcionar mucho mejor en Raspberry Pi, consumiendo menos CPU, memoria y ancho de banda, mientras mantiene toda la funcionalidad original del plugin.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant