Cómo SuburbStory utiliza Asyncio para extraer datos gubernamentales de múltiples fuentes en paralelo

Cómo SuburbStory utiliza Asyncio para extraer datos gubernamentales en paralelo. Descubre cómo esta herramienta optimiza el proceso de extracción de información de forma eficiente y rápida.

24 nov 2025 • 4 min read • Q2BSTUDIO Team

Cómo SuburbStory utiliza Asyncio para extraer datos gubernamentales en paralelo

SuburbStory publica actualizaciones locales para cada barrio de NSW utilizando múltiples fuentes gubernamentales y públicas como policía, bomberos, tráfico, transporte y alertas de agencias. Los datos provienen de feeds independientes que responden en horarios distintos y a través de endpoints HTTP totalmente diferentes. Por eso el reto principal no es procesar la información sino conseguirla con rapidez desde todas las fuentes sin crear una cadena secuencial de llamadas API lenta y frágil.

El trabajo es fundamentalmente I O: descargar páginas remotas, extraer texto ligero y enviar la información procesada a un modelo como Gemini para generar resúmenes por barrio. La única forma práctica de escalar a nivel estatal es ejecutar todo en paralelo, y ahí Python asyncio se convierte en el centro del sistema.

El problema de la obtención secuencial es sencillo: si se consulta cada fuente una por una, un feed lento bloquea todo lo demás. Un único feed que tarde unos segundos puede degradar la frescura de los datos cuando se multiplica por cientos o miles de barrios y hace que el tiempo de ejecución del cron job sea impredecible. Pero estas operaciones no dependen entre sí: cada fetch es una llamada HTTP aislada que puede iniciarse sin esperar a las demás.

La solución es construir una lista de corutinas y lanzarlas simultáneamente con asyncio gather. Todas las peticiones salen a la vez y cada respuesta se resuelve cuando el servidor remoto responde. Un feed lento deja de ser un cuello de botella y un feed rápido se procesa de inmediato. Al multiplicar docenas de fuentes por miles de barrios, la mejora en latencia y previsibilidad es enorme.

Una vez completadas las descargas, el contenido se parsea y normaliza en operaciones ligeras como extracción HTML, limpieza de campos, segmentación de texto y emparejado de localizaciones. Estos pasos se ejecutan inline sin bloquear el loop y, al finalizar la llamada gather, ya existe una instantánea completa de todas las actualizaciones relevantes.

El siguiente paso es agrupar por barrio para ensamblar en una sola pasada la visión conjunta de policía, bomberos, tráfico y otras fuentes. Ese conjunto agrupado alimenta la etapa NLG. Las llamadas al modelo son también operaciones I O de alta latencia, por lo que se aplican los mismos principios: construir una tanda de tareas, una llamada de modelo por barrio, y lanzarlas con asyncio gather con límites de concurrencia cuando es necesario. Mientras un modelo genera un resumen de un barrio, docenas de tareas siguen en vuelo, compactando minutos de llamadas serializadas en la latencia de un solo lote.

El ciclo completo queda así: todas las fuentes consultadas concurrentemente, todo el parsing hecho nada más llegar las respuestas, todos los resúmenes de barrio generados en paralelo y la salida almacenada sin bloquear el loop. El cron job solo espera al elemento más lento de cada lote y todo lo demás se solapa. De este modo, aunque el sistema contacte múltiples endpoints externos y llame a un LLM a gran escala, el tiempo total sigue siendo corto y predecible porque cada parte corre en paralelo.

Asyncio encaja perfectamente porque la carga no es intensiva en CPU ni requiere modelos locales ni transformaciones pesadas. Es casi totalmente bound por red. Usar hilos o procesos añadiría sobrecarga y desperdicio de recursos; usar peticiones síncronas alargaría cada ciclo innecesariamente. Asyncio ofrece concurrencia máxima con mínima sobrecarga y rendimiento predecible para este patrón de trabajo.

En Q2BSTUDIO aplicamos estos mismos principios cuando diseñamos soluciones de software a medida y arquitecturas para ingestión masiva de datos en tiempo real. Como empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial, ciberseguridad y servicios cloud aws y azure ofrecemos arquitecturas escalables que combinan pipelines asíncronos, modelos de IA y buenas prácticas de seguridad. Si busca un socio para crear aplicaciones a medida visite aplicaciones a medida y para soluciones de inteligencia artificial y agentes IA diseñadas para empresas consulte inteligencia artificial.

Nuestras capacidades incluyen software a medida, servicios de inteligencia de negocio y power bi, ia para empresas, agentes IA, y servicios de ciberseguridad y pentesting para proteger pipelines y datos. Combinando técnicas asíncronas, arquitecturas en la nube y modelos de IA podemos ofrecer sistemas que mantienen la frescura de los datos, reducen la latencia y escalan de forma predecible, todo ello con foco en seguridad y eficiencia operativa.

Si su proyecto requiere ingestión concurrente de múltiples fuentes, generación automática de contenidos o integración de modelos de lenguaje a gran escala, en Q2BSTUDIO diseñamos la solución técnica y la implementamos de forma segura y escalable, aprovechando servicios cloud, buenas prácticas de seguridad y herramientas de inteligencia de negocio como power bi para transformar datos en decisiones.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.