image-title-here

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"