-
Notifications
You must be signed in to change notification settings - Fork 0
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
Optimizar las peticiones de información #12
Comments
Soy más partidario de la opción 1, al menos mientras seamos nosotros los que pedimos información a GitHub en lugar de esperar a que nos mande él las updates. El problema de paginación existía también en repostatistics, y fuimos capaces de resolverlo. Creo que unas peticiones más directas (con state y label), si se tiene en cuenta la paginación, reduciría mucho el número de peticiones a hacer. |
Se debe tener en cuenta que la información "closed_by" no está presente en un listado de issues del estilo https://api.github.com/repos/asrob-uc3m/operadores/issues?state=closed Esta información únicamente está disponible si se hace una solicitud sobre una sola issue a la API como por ejemplo https://api.github.com/repos/asrob-uc3m/operadores/issues/4 Teniendo esto en cuenta, la optimización consistiría más bien en reducir el conjunto de issues que solicitar, y no sería tan sencillo como realizar una solicitud por página. |
Cierto, pero se ahorraría inspeccionar issues que de antemano sabemos que no están relacionadas con la formación de operadores (menos peticiones y tiempo de ejecución). |
Desde luego. El workflow sería:
|
Creo que la api del mismo GitHub tiene un sistema para ir pidiendo páginas, sin tener que calcular fechas. Investigaré a ver. |
Actualmente, el código realiza peticiones a la API de GitHub para recopilar todas las issues, incluso las que no tienen que ver con formación. En un futuro, si aumenta el número de operadores, el código será capaz de recopilar igualmente toda la información, pero el tiempo de ejecución crecerá de la misma manera.
Se me ocurren dos formas de optimizar:
Recopilando únicamente las issues cerradas y con las etiquetas correctas, pero esto presenta un problema y es que el máximo de resultados que devuelve es 30 por lo que habría que habilitar paginación o algo parecido. (filtros state y label)
Creando una caché local de las issues, y reopilando únicamente información de aquellas que han sido actualizadas desde el último backup para actualizar la información. (filtro updated)
The text was updated successfully, but these errors were encountered: