Commit Graph

59 Commits

Author SHA1 Message Date
Daniel Cortes
6efb103a1a Quitando dependencia con rest_framework 2020-06-27 12:54:15 -04:00
Daniel Cortes
f592ed082d No existen coverarts de releases 2020-06-17 16:36:07 -04:00
Daniel Cortes
c01cb8e57d error en cache, no se validaba si existia el conteo de recordings 2020-06-16 23:09:41 -04:00
Daniel Cortes
8f6cf8e691 Agregados paises extras y la traduccion de paises en release 2020-06-16 00:46:37 -04:00
Daniel Cortes
1ccfc4d007 Fix no estaba mapeando la media cuando venia del cache 2020-06-14 20:22:21 -04:00
Daniel Cortes
f5411ae25d fix redis.zrange es inclusivo 2020-06-14 20:03:07 -04:00
Daniel Cortes
3ca3a5b9f5 Fix cuando coverart tiene error 404 2020-06-14 19:59:11 -04:00
Daniel Cortes
dc8d701fce Revisados los mapeos de entidades 2020-06-14 19:36:27 -04:00
Daniel Cortes
a17d024393 Ultimos tests de cache 2020-06-14 04:08:18 -04:00
Daniel Cortes
71fe9523a9 Tests de get_artist_of_recording 2020-06-14 04:04:16 -04:00
Daniel Cortes
907cfe92d5 Testeados get_releases_of_recordings 2020-06-14 03:59:00 -04:00
Daniel Cortes
823149bf5b Testeo de get_recordings of release 2020-06-14 03:32:44 -04:00
Daniel Cortes
fb70b829a3 Tests para get_recording 2020-06-14 01:48:23 -04:00
Daniel Cortes
a4f3a5c87f Test para get_artist_of_release 2020-06-14 01:44:02 -04:00
Daniel Cortes
e3c3209433 Mas tests <3 2020-06-13 01:56:56 -04:00
Daniel Cortes
a7984779f7 Testeando el codigo! 2020-06-13 01:18:09 -04:00
Daniel Cortes
97f4b86870 cambios minimos en search 2020-06-12 06:57:48 -04:00
Daniel Cortes
788a4e3397 Cache para los cover arts
Aparte hice un metodo que cambia http a https dentro de map_coverart,
porque por alguna razon cover art archive retorna sus imagenes con http
y los navegdores se quejan por esto
2020-06-12 06:39:04 -04:00
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