Commit Graph
41 Commits
Author SHA1 Message Date
Daniel Cortes 878c85ec78 Continua la separacion de cache 2020-06-12 06:23:16 -04:00
Daniel Cortes b8c79da9ca Extrayendo funcionalidad de cache en su propio modulo 2020-06-12 02:40:26 -04:00
Daniel Cortes bb27c57c98 Cache en covers 2020-06-12 01:09:22 -04:00
Daniel Cortes 8951541a7a Artists of recordings 2020-06-12 00:19:34 -04:00
Daniel Cortes df83c17c39 Agregado cache a release of recordings 2020-06-11 23:31:28 -04:00
Daniel Cortes a1a74de82d Arreglada recordings of release 2020-06-11 05:57:40 -04:00
Daniel Cortes 1aed9351ab Agregando logs a medium 2020-06-11 05:15:23 -04:00
Daniel Cortes 83c095e4ec Pasando a utilizar flake8, es mas rapido y confiable 2020-06-11 04:59:06 -04:00
Daniel Cortes 1d4c5f28ac Arreglada race condition de get_discs_of_artist
Ademas hice algo inteligente y agrege logs a la funcion, es mas facil
ver que carajo paso
2020-06-10 05:28:00 -04:00
Daniel Cortes 2a639f557f Agregada integracion a cache de recordings
Fue un leseo la parte de recordings_of_release, pero ya esta esa parte

Me faltan un par de recordings no mas :3
2020-06-10 04:06:04 -04:00
Daniel Cortes 65c77c679f Continuando con el almacenamiento de datos en cache
Va a mejor la cosa, tengo que hacer tests si o tambien porque no estoy
nada seguro si es que todo funciona como espero ya que toda llamada a la
api corresponde a una llamada a cache y descubrir si es que esta todo en
cache como se espera

Voy a terminar del modo que lo estoy haciendo y tal vez cambio esto a un
modulo de cache el cual se encargara de o obtener datos desde cache o
llamar a music brainz para suplir los datos que no puede responder
2020-06-10 00:02:45 -04:00
Daniel Cortes d62253051b agregado cache a get_artist_of_disc 2020-06-09 05:55:48 -04:00
Daniel Cortes b44c18770e get_artist_of_disc con cache 2020-06-09 04:49:39 -04:00
Daniel Cortes cabe607958 Volver a py-redis
Resulta que django-redis es muy bonito pero esta pensado para usarse
como el cache por default de django, remplazando a memcached y por eso
no permite casi ninguna de las funcionalidades que redis permite, como
usar listas y sets.
Djang-redis permite usar el cliente directamente pero el codigo se
estaba haciendo largo y creando mas problemas de los que necesito
Asi que voy a usar el cliente regular, asi me evito dramas
2020-06-09 04:08:08 -04:00
Daniel Cortes 72bcf94d11 Trabajando para aprovechar el cache el las relaciones 2020-06-09 01:55:12 -04:00
Daniel Cortes 2edca8e255 Se remplazo la conexion a cache de django a la nativa 2020-06-08 23:14:13 -04:00
Daniel Cortes 1e548be114 Reintentar request si es que el servidor responde con 503
Resulta que musicbrainz puede responde con 503 a pesar de ser buena
gente y mantener el ratelimit, esto puede ser por varias razones
documentadas en
https://musicbrainz.org/doc/XML_Web_Service/Rate_Limiting
2020-06-08 22:39:01 -04:00
Daniel Cortes 06b2ff0c4b load_cover_art como job de alta prioridad
Ya que no tengo limite de request por segundo a coverart archive solo
hago mas lento el worker default con las request hacia alla sumando a
que tengo que esperar a que termine el resto

En un worker separado no tengo esas limitaciones
2020-06-08 21:00:44 -04:00
Daniel Cortes 392dba39ea Inclusion de un ratelimit usando cache
Necesitaba un ratelimit que estuviera disponible en todos los workers,
cosa que aparentemente la libreria que estaba usando no tomaba en cuenta

asi que la mejor idea que tuve es aprovechar el cache y usarlo para
generar el ratelimit :3 asi que como todos los workers se comunican con
el mismo cache, todos van a compartir el mismo lock
2020-06-08 19:14:51 -04:00
Daniel Cortes b71b6e824d json.load es differente a json.loads 2020-06-08 17:19:07 -04:00
Daniel Cortes ac58e29c75 Definidos jobs basicos y comunicacion con estos 2020-06-08 16:56:14 -04:00
Daniel Cortes 90c34dada3 Me equivoque en la key de release-group-count 2020-06-08 05:16:19 -04:00
Daniel Cortes 54d18f0d76 Agregando jobs para rellenar el cache de datos 2020-06-08 05:11:34 -04:00
Daniel Cortes fce2072f82 Tampoco era buena idea hacer querys en los mapeos 2020-06-08 04:19:05 -04:00
Daniel Cortes a3b4479579 Parallel map fue una mala idea~ 2020-06-08 04:07:07 -04:00
Daniel Cortes d46c2f61ca Removiendo uso de cache en musicbrainz
Esto esta en proceso, se va a mover el cache a medium, donde se puede
controlar lo que se esta haciendo, ya que se planea que musicbrainz.py
sea simplemente una capa de conexion
2020-06-08 03:56:59 -04:00
Daniel Cortes 6498bf9c48 Chequeo user agents en _do_request 2020-06-08 01:48:02 -04:00
Daniel Cortes 67e5e8a7a2 Divisiones visuales en medium 2020-06-08 00:29:43 -04:00
Daniel Cortes 70b9c10229 Cambios para satisfacer a pylint 2020-06-07 18:37:29 -04:00
Daniel Cortes 5f5abd178d Paralelizados los mapeos
Esto es para mucha mas rapida ejecucion <3
2020-06-04 07:06:29 -04:00
Daniel Cortes 8b90a876dc Coverart archive no tiene limite de requests! 2020-06-04 06:18:13 -04:00
Daniel Cortes 50b5694865 Traduciendo country_codes 2020-06-03 21:29:35 -04:00
Daniel Cortes c654f447b1 Traduciendo type en artista 2020-06-03 17:22:04 -04:00
Daniel Cortes b4b9dafc02 Video no es necesario en recording 2020-06-03 04:33:36 -04:00
Daniel Cortes 9ab6a2ed9f Artistas en entidades relacionadas 2020-05-23 02:55:30 -04:00
Daniel Cortes a9aaf33ad5 Fallback cuando no hay query definida 2020-05-23 01:29:18 -04:00
Daniel Cortes f7008c3c27 Ultimas modificaciones a la api, creo 2020-05-23 00:21:43 -04:00
Daniel Cortes eb4351c9de Cambiados logers porunos mas simples 2020-05-22 23:13:14 -04:00
Daniel Cortes 765005ac4e Agregada busqueda y cambiada nuevamente api 2020-05-22 22:24:39 -04:00
Daniel Cortes a37d51b120 Cambiada la estructura de la api
No era muy util como estaba antes, por lo que siplifique los modelos y
proceso levemente lo que entrega musicbrainz
2020-05-22 06:28:39 -04:00
Daniel Cortes 3568abfbc7 Commit inicial
Habia trabajado un buen poco pero como vi que tenia que separar los
repositorios perdi bastante la historia :c
2020-05-22 00:05:27 -04:00