session endSession

Terminación Segura en Flujo de Carga Nocturna

Scénario de test & Cas d'usage

Contexto empresarial

Un banco ejecuta un proceso batch nocturno (ETL) para actualizar los saldos de las tarjetas de crédito. Es crítico que, tras la carga y validación de los datos, la sesión CAS se cierre explícitamente para liberar licencias y recursos de memoria en el servidor compartido antes de que inician los procesos de apertura de sucursales.
Sobre el conjunto : session

Gestión del estado de la sesión CAS.

Descubrir todas las acciones de session
Preparación de datos

Simulación de una tabla de transacciones bancarias para procesar.

¡Copiado!
1DATA work.transacciones;
2 DO i = 1 to 1000;
3 id_cuenta = put(i, z5.);
4 monto = round(rand('Uniform') * 500, 0.01);
5 fecha = today();
6 OUTPUT;
7 END;
8RUN;
9 
10/* Carga inicial a CAS (simulada en paso de test) */

Étapes de réalisation

1
Inicio de sesión dedicada y carga de datos transaccionales.
¡Copiado!
1cas sesionEtl host="localhost" port=5570;
2 
3PROC CAS;
4 SESSION.sessionId RESULT=r;
5 PRINT "Iniciando proceso en sesión: " r.sessionName;
6 /* Simular carga de datos */
7 TABLE.addCaslib / caslib="DatosBanco" dataSource={srcType="path"};
8RUN;
2
Ejecución de la acción endSession para finalizar el flujo y liberar recursos.
¡Copiado!
1PROC CAS;
2 PRINT "Finalizando proceso ETL...";
3 SESSION.endSession;
4 PRINT "La sesión ha sido terminada.";
5RUN;
6 
7/* Verificación: Intentar usar la sesión después debería fallar o requerir reconexión */
8cas sesionEtl terminate;

Resultado esperado


La sesión 'sesionEtl' debe cerrarse correctamente. El log debe mostrar que la desconexión fue exitosa, asegurando que no queden procesos 'zombies' consumiendo RAM en el servidor.