Scénario de test & Cas d'usage
Gestión del estado de la sesión CAS.
Descubrir todas las acciones de sessionSimulación de una tabla de transacciones bancarias para procesar.
| 1 | DATA 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; |
| 8 | RUN; |
| 9 | |
| 10 | /* Carga inicial a CAS (simulada en paso de test) */ |
| 1 | cas sesionEtl host="localhost" port=5570; |
| 2 | |
| 3 | PROC 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"}; |
| 8 | RUN; |
| 1 | PROC CAS; |
| 2 | PRINT "Finalizando proceso ETL..."; |
| 3 | SESSION.endSession; |
| 4 | PRINT "La sesión ha sido terminada."; |
| 5 | RUN; |
| 6 | |
| 7 | /* Verificación: Intentar usar la sesión después debería fallar o requerir reconexión */ |
| 8 | cas sesionEtl terminate; |
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.