Commit Graph

38 Commits

Author SHA1 Message Date
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