El servicio de ficheros se encarga de enviar al usuario el fichero para que pueda visualizarlo. El servicio debe leer de un directorio en el disco duro, que será pasado al servicio a través de su configuración, los ficheros que serán compartidos.
🔹 Link repositorio -> https://github.com/molinem/ICEFLIX-FILESERVICE
🔸 Luis Molina Muñoz-Torrero
- Nuestro servicio de ficheros se anuncia en
Announcementscada 10 segundos. - Anunciamos nuestros ficheros en
FileAvailabilitycada 20 segundos (este tiempo ha sido elegido debido a que no se menciona exáctamente cuanto debería ser) - Haciendo uso de setup.py se ha creado en la carpeta
distun archivo denominadoiceflix_file-0.1.tar.gzpara instalarlo usaremos el
siguiente comando ->pip install dist/iceflix_file-0.1.tar.gz
-
Primero hacemos uso del comando
pip install . -
Para lanzar el servicio ejecutaremos
./run_serviceel cuál iniciará el servicio FileService con la configuración que se encuentra en el configs/fileservice.config. Por ello es necesario que previamente editemos ese fichero añadiendo el IceStorm.TopicManager que queramos.
openFile((self, media_id, user_token, current=None)-> dado el identificador del medio devolverá un proxy al manejador del archivo (FileHandler), que permitirá descargarlo.uploadFile(self, uploader, admin_token, current=None)-> dado el token de administrador y un proxy para la subida del archivo, lo guardará en el directorio y devolverá su identificadorremoveFile(self, media_id, admin_token, current=None)-> dado un identificador y el token de administrador, borrará el archivo del directorio.
receive(self, size, userToken, current=None)-> recibe el número indicado de bytes del archivo, se comprueba el userToken.close(self, userToken, current=None)-> indica al servidor que el proxy para este fichero ya no va a ser usado y puede ser eliminado, se comprueba el userToken.
receive(self, size, current=None)-> recibe el número indicado de bytes del archivoclose(self, current=None)-> indica al servidor que el proxy para este fichero ya no va a ser usado y puede ser eliminado
announce(self, service, service_id, current=None)-> De forma constante comprueba los servicios y actualiza la lista de servicios conocidos que no han sido añadidos con anterioridad.
Utilización de la librería
loggingde Python de manera adecuada. ✅
El proyecto es instalable con
pip install(setup.py) ✅
El código obtiene de media en
pylint> 9.0 ✅
DockerFile ✅