
Ejecución del servicio
El servicio de REDIS se puede ejecutar mediante un script sbatch. En el siguiente ejemplo se ejecutará redis en un nodo y utilizando dos cpus pero solicitantdo dos tasks. El tiempo de la ejecución será de 30 minutos.
En el ejemplo también se generará un archivo llamado runme-[jobid].sh
#!/bin/bash -l
#SBATCH --job-name=redis
#SBATCH --ntasks=2
#SBATCH --mem=2048
#SBATCH --time 00:30:00
#SBATCH --partition=normal,ute
#SBATCH --qos=UTE
#SBATCH --output=salida-redis.out
echo "srun --jobid=$SLURM_JOBID --pty bash -l" > runme-$SLURM_JOBID.sh
/clusteruy/apps/redis/redis-5.0.9/bin/redis-server
runme-JOBID.sh
Se debe ejecutar el archivo generado ejecutar por ejemplo
sh runme-JOBID.sh
donde JOBID va a ser el job id correspondiente. De esta forma nos encontraremos en una sección interactiva, dentro del mismo job donde está corriendo el servidor REDIS.
Ejecutando
/clusteruy/apps/redis/redis-5.0.9/bin/redis-cli
se ingresa directamente al environment de REDIS.
Ejemplo de uso de REDIS usando un script de python.
Es necesario tener instalado el paquete redis de python.
Debe utilizarse un entorno de python (chequear Entornos virtuales de Python con Conda), utilizar pip install redis o conda install redis
Conectarse con runme-JOBID.sh
Ejecutar python y luego escribir el ejemplo en la consola.
import redis
r = redis.Redis()
r.mset({"Montevideo": "1.325.968", "Canelones": "485.240", "Maldonado":"140.192"}) #esto genera un diccionario, debería devolver OK.
####
r.get("Canelones") #esto si todo sale bien debería devolver "485.240"