Artículo
· 19 ene, 2023 Lectura de 2 min

Desplegar a producción módulos para convertir resultados de consultas a archivos xlsx usando librería OepnPyx! de Python

Continúo la descripción del trabajo usando el módulo openhl de Python en producción.

Como la versión de IRIS con Python Embebido, aún no ha sido liberada, ya es necesario usarlo en producción ahora. Decidimos hacer una copia de seguridad del servicio para exportar consultas a un archivo xlsx en un servidor aparte, y guardar el resultado de la consulta en un global en una base de datos separada.

Esta base de datos se puso en red, local para el servidor del servicio y remota para el servidor del producto. La comunicación entre el servidor de producto y el servicio fue implementada usando un servicio rest.

Así que: en el servidor en la aplicación del cliente, el usuario pide un informe largo. El informe se genera en segundo plano y se guarda en el global.
En la base de datos remota, el servicio rest es llamado con una referencia completa al global como parámetro. El servicio se inicia en segundo plano y exporta un archivo a un fichero Excel y, después, invoca a una llamada al servicio rest con un enlace al archivo generado. Habiendo recibido el mensaje, el servicio en el servidor de producción archiva el fichero Excel y lo envía por email al cliente.
Y aquí no debemos olvidar que la base de datos remota y local debe estar protegida por un solo recurso, los privilegios para los cuales se deben asignar al usuario para el que se genera el archivo.

De esta manera, hemos reemplazado %SYS.ZENReportExcelExporter en el servidor de producto.
En el futuro, como un desarrollo de esta solución, pensamos reemplazar el envío de archivos por email al panel de enlace de archivos generados por la descarga del usuario independientemente, tras notificación de lectura.

Comentarios (0)1
Inicie sesión o regístrese para continuar