Commit Graph

102 Commits

Author SHA1 Message Date
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
b1a786f806 Reiniciar workers con script en server 2020-06-15 23:42:45 -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
4beb7c07d4 Merge branch 'testing' 2020-06-14 19:59:45 -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
703795ed6b Merge branch 'testing' 2020-06-14 04:09:00 -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
45147618c1 htmlcov a gitignore 2020-06-13 01:31:14 -04:00
Daniel Cortes
a7984779f7 Testeando el codigo! 2020-06-13 01:18:09 -04:00
Daniel Cortes
b806b1163c Los docs estaban demasiado desactualizados 2020-06-12 17:23:27 -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
d6060915de stash me da mas problemas de los que deberia asi que se va 2020-06-09 05:02:38 -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
765e482958 removida dependencia no usada 2020-06-08 22:50:38 -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
749aa50ee1 es workers no worker 2020-06-08 22:04:53 -04:00
Daniel Cortes
5450e6522e Es necesario reiniciar los workers en deploy 2020-06-08 21:59:25 -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
4066a6c9e1 No estaba instalando los requirements de produccion 2020-06-08 19:37:40 -04:00
Daniel Cortes
2646438343 escribi -f en vez de -r 2020-06-08 19:30:10 -04:00
Daniel Cortes
c076b11993 rm -r para eliminar carpetas ~~ 2020-06-08 19:25:18 -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