Design Discussion: Implementing Queueing logic to enable parallel run of index and download logics
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- python, redis
- Área
- distributed-systems
Línea de trabajo
Comienza revisando la lógica existente de indexación y descarga y cómo se usa Redis actualmente, aunque el issue no nombra archivos ni puntos de entrada. Define el diseño de queueing para ejecutar ambos procesos en paralelo, incluyendo si los conjuntos de Redis conservan el comportamiento requerido. Se considera terminado cuando el diseño está acordado y el mecanismo coordina los elementos descargados para su indexación sin duplicados no intencionados ni problemas de orden.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem Statement:
We are aiming to improve the system by running the index and download logics in parallel. To achieve this, we need to implement a queueing mechanism that can effectively manage these two processes.
Proposed Solution - Use Redis Sets as Queues
How it works:
Utilize a Redis set (or two sets, one for workflows and one for actions) to queue items for processing.
Download logic will insert items to these sets after it downloads it.
Index logic will pop items from these sets and index them.
Pros:
Simplicity: Easy to implement and manage.
No Duplicates: Sets prevent duplicate items by default.
Cons:
Ordering: Redis sets do not guarantee order, which could be an issue if ordering is essential.
What do you think?
- Lenguaje dominante
- Python
- Estrellas
- 748
- Forks
- 46
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la 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 CycodeLabs/raven
-
`library` folder not included in the source distributionPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoquery-library
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
CycodeLabs/raven#183 · 2 comentarios ·
-
报错Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 15/100
CycodeLabs/raven#199 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
CycodeLabs/raven#188 · 2 comentarios · 1 reacción ·
-
feature
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
CycodeLabs/raven#119 · 6 comentarios ·
-
feature indexer
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
CycodeLabs/raven#114 ·
Todos los issues de CycodeLabs/raven
Issues similares
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
pytest-dev/pluggy#757 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
NousResearch/hermes-agent#134960 ·
Los mantenedores suelen responder en 1 día
-
HTML backend: `<br>` leaks the internal sentinel U+E000 into list items, headings and captionsPosiblemente ocupada @morten-lagabote la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
docling-project/docling#4671 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
good first issue hacktoberfest infra
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día