openzim / openzim/python-scraperlib

Add S3 based optimization cache support

Abierto
#30 1 comentario 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

enhancement stale
Lenguaje dominante
Python
Estrellas
31
Forks
27
Merge medio
3 d 7 h
PR fusionados (30 d)
2

Descripción

We use kiwix_storagelib for implementing S3 based optimization cache in the scrapers. However, this gives rise to redundant code. We put a version of the file along with the optimizer version as the metadata always. So, this can be better implemented in scraperlib. For a start, we can have a caching module that can have 3 functions, (or maybe a class containing methods). The primary 3 things we need are -

  • download_from_cache()
  • upload_to_cache()
  • check_credentials()

There can be several ways to have this, but it should at least fulfill the following -

  • Compare optimizer_version
  • Compare file_version

Optional things can be to check file upload date and discard if it's older than a specified amount of time. If we go for a class based approach, we can also explore possibilities to improve performance.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza revisando el uso existente de kiwix_storagelib en los scrapers y cómo se almacenan como metadatos las versiones de optimizer y de los archivos. Define el punto de entrada de la caché y verifica que las credenciales, las descargas, las subidas y ambas comparaciones de versiones estén cubiertas; en el issue no se nombran archivos ni pruebas específicos.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
aws, python
Área
backend, cloud
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.