Consulta sobre worker para Redis (RESPONDIDO)

Buenas tardes, el motivo del presente es para realizarles la siguiente consulta:

Nos encontramos probando los WS que integran los sistemas Pilaga 3.6.0 y Diaguita 3.0.1. Puntualmente estamos probando lo de exportación e ingreso de garantias de oferta y adjudicación.
Si bien funcionan, el comando toba proyecto iniciar_workers -i produccion -p diaguita, lo ejecutamos en forma manual…
Mirando la documentación provista nos indican lo siguiente:

Para asegurar que los workers están siempre en ejecución, se debe utilizar un sistema de control de procesos como supervisord (http://supervisord.org/) que se encargue de que el proceso siempre este activo.

No hemos realizado nunca esta configuración. Si es posible que nos indiquen una forma posible de hacerlo automatico.

El sistema Diaguita funciona bajo Debian 8.

Desde ya muchas gracias

Saludos
Paola
UNPA

Hola Paola,

Efectivamente lo recomendable es correr el worker utilizando alguna herramienta que facilite la ejecución del mismo.
Supervisor es una opción que hemos probado pero pueden utilizar la que deseen. En este enlace (http://supervisord.org/running.html#adding-a-program) se encuentra la documentación para agregar un servicio a supervisor. Una vez que lo instalen pueden agregar un archivo de configuración (Por ejemplo /etc/supervisor/conf.d/diaguita-worker.conf) con la especificación para ejecutar el worker.

Te dejo un enlace a la documentación del otro worker de Diaguita utilizado en la interacción con arai-documentos (https://expedientes.siu.edu.ar/docs/next/diaguita/#worker-de-documentos). Allí van a poder ver un ejemplo de como realizar el archivo de configuración. Tengan en cuenta que el comando del worker es distinto pero les va a servir como ejemplo. El comando que deben usar es toba proyecto iniciar_workers .

Saludos.

Buenos dias, muchas gracias por la documentación provista. Siguiendola pudimos ejecutar el worker con Supervisor.

Aprovecho este foro para consultarte sobre REDIS.
Nosotros hicimos una instalación siguiendo el link https://chachocool.com/como-instalar-redis-en-debian-9-stretch/

Lo que hicimos es:
sudo apt update
sudo apt install -y redis-server
sudo nano /etc/redis/redis.conf, donde buscamos la directiva supervised no y la cambiamos por supervised systemd
sudo systemctl restart redis

Debieramos hacer alguna configuración en particular o asi estaría bien?

Desde ya muchas gracias!

Saludos
Paola
UNPA

Hola Paola,
Si verificaron que tienen funcionando Redis, lo que deben hacer a continuación es detallar el host y puerto en el archivo resthooks.ini del directorio instalacion como se indica en la documentación . (https://documentacion.siu.edu.ar/wiki/SIU-Diaguita/version3.0.0/rest_hooks)

Como se explica ahí si se usa redis para encolar los envíos, el valor del parámetro resthooks_activo debe ser 1.
Si se usa el modo directo sin redis el valor del parámetro debe ser 0.

Saludos.

Buenos dias, disculpas quizas no me explique bien en lo que queria consultar…
Ya tenemos el WS de garantias funcionando y con el worker corriendo bajo Supervisor.

La consulta era saber si al momento de instalar REDIS, debo tener en cuenta alguna configuración en particular o con los pasos que seguimos es suficiente?

Desde ya muchas gracias!

Saudos
UNPA

Hola Paola,
No podría aconsejarte respecto a la implementacion de Redis en Producción. Es algo que deberían evaluar respecto a sus necesidades.
Tal vez algún compañero de una universidad que lo tenga implementado pueda compartir alguna sugerencia.

Saludos.

Buenas,
Me encuentro en la misma situación de configurar el resthook, estoy en el ultimo paso de configurar el supervisor, pero me da error porque debo ejecutar primero el entorno_toba y despues el iniciar_worker, me gustaria saber como lo configuraste el .conf del supervisor, para ejecute correctamente.
Desde ya gracias.

Configuración del .conf parado en /etc/supervisor/conf.d/worker_diaguita.conf

[program:worker_diaguita]
command=/var/www/html/SIU-Diaguita-3.0.0/bin/toba proyecto iniciar_workers -i produccion -p diaguita
autostart=true
autorestart=true
stderr_logfile=/var/log/worker.err.log
stdout_logfile=/var/log/worker.out.log

Error arrojado al entrar al supervisorctl

worker_diaguita FATAL can’t find command ‘/var/www/html/SIU-Diaguita-3.0.0/bin/toba’

Para que funcione por el momento, debo ejecutar lo siguiente

cd /diaguita-3.0.0/instalacion/
. entorno_toba.env
cd …/bin/
toba proyecto iniciar_workers -i produccion -p diaguita

Hola Carlos,
Podrías verificar en el directorio /diaguita-3.0.0/bin/ si tenes el archivo ejecutable “toba” ? Si es así podrías verificar que tenga permisos.
Este archivo debería existir en ese directorio y es un enlace simbólico al archivo que se encuentra en el vendor.

Saludos.

Hola Pablo,
En el directorio bin no se encontraba el toba, por lo tanto procedi a extraer el toba y a aplicar los permisos pero sigue igual.

ln -s /diaguita-3.0.0/bin/toba //diaguita-3.0.0/vendor/siu-toba/framework/bin/toba

Carlos, puede ser que al realizar la instalación hayan usado el vendor que tenemos en el repositorio?
El enlace simbólico se genera al realizar un "composer install" así que supongo que puede ser un motivo por el que no lo tenían.

Por otra parte, verificaste que tengas el enlace simbólico en la carpeta bin/? porque por lo que veo en el comando que compartiste los parámetros serian al revés.
Si tenes el enlace podrías probar desde una terminal ejecutar ./bin/toba para verificar que podes ejecutar el comando.

Saludos.

Buenas,
Si el vendor lo traje del repo,

Por otra parte, verificaste que tengas el enlace simbólico en la carpeta bin/?
Si se encuentra en bin, ayer lo agregue pero seguia igual, la verdad el comando que se encuentra en el foro, fue escrito a mano por eso lo puse al reves.
Si tenes el enlace podrías probar desde una terminal ejecutar ./bin/toba para verificar que podes ejecutar el comando
Lo ejecute y trae lo siguiente: -------------------- SIU-TOBA ( Ambiente de desarrollo WEB ) ------------------------------------------------------------------------------- --------------------

Versi▒n: 3.1.16

Directorio de la INSTALACION: /var/www/html/SIU-Diaguita-3.0.0/vendor/siu-toba/ framework

Comandos disponibles

instalacion Administracion de la INSTALACION
base Administracion de BASES de DATOS
instancia Administracion de INSTANCIAS
proyecto Administracion de PROYECTOS
personalizacion Administracion de PERSONALIZACIONES
test Ejecucion de baterias de TEST
servicios_web Administracion de servicios web


Ahora ya anda el supervisor, no se si se soluciono al ejecutar ./bin/toba

Gracias Pablo.

Buenísimo Carlos! gracias por avisar. Hay que tener en cuenta que en algunos casos es necesario reiniciar el servicio de supervisor. Tal vez pudo ser uno de los motivos por el que después comenzó a funcionar.
Saludos.