?> actionstatus - WeAreCAS
session

actionstatus

Descripción

Proporciona una forma de monitorear el estado de las acciones enviadas a una sesión de CAS, lo cual es crucial para la gestión de trabajos asíncronos y el seguimiento del progreso de tareas de larga duración. Permite a los administradores y usuarios verificar si una acción está en ejecución, completada, fallida o en otro estado, utilizando el identificador único (UUID) de la sesión.

session.actionstatus / uuid="string";
Parámetros
ParámetroDescripción
uuidEspecifica el identificador universal único (UUID) de la sesión de la cual se desea obtener el estado de la acción. Este UUID es esencial para dirigirse a la sesión correcta, especialmente en un entorno multiusuario donde pueden coexistir múltiples sesiones.
Preparación de datos
Contexto: Iniciar una acción para monitorear

Para usar `actionstatus`, primero debemos tener una acción en ejecución. Este código carga la tabla `iris` en la caslib `CASUSER` para que podamos ejecutar una acción sobre ella y luego verificar su estado.

proc cas;
   session casauto;
   table.loadTable / caslib='CASUSER' path='iris.sashdat' casout={name='iris', replace=true};
quit;

Ejemplos

Este ejemplo muestra cómo obtener el estado de las acciones para una sesión específica. Primero, usamos la acción `listSessions` para obtener el UUID de las sesiones activas. Luego, usamos ese UUID en la acción `actionstatus`.

Código SAS® / CAS
¡Copiado!
1PROC CAS;
2 SESSION casauto;
3 /* Paso 1: Listar sesiones para obtener un UUID */
4 SESSION.listSessions RESULT=r;
5 uuid_sesion = r.SESSION[1]['UUID'];
6 PRINT 'UUID de la sesión a verificar: ' uuid_sesion;
7 
8 /* Paso 2: Usar el UUID para verificar el estado de la acción */
9 SESSION.actionStatus / uuid=uuid_sesion;
10QUIT;
Resultado :
La salida será una tabla que lista todas las acciones asociadas con el UUID de la sesión especificada, mostrando su estado actual (por ejemplo, 'En ejecución', 'Completada', 'Fallida'), el nombre del trabajo y otros metadatos relevantes.

Este es un escenario más realista donde se inicia una tarea de larga duración (simulada aquí con la acción `builtins.sleep`) de forma asíncrona. Obtenemos el ID del trabajo y luego usamos `actionstatus` para verificar su progreso sin bloquear la sesión principal.

Código SAS® / CAS
¡Copiado!
1PROC CAS;
2 SESSION casauto;
3 
4 /* Iniciar una acción de 'sleep' de 10 segundos de forma asíncrona */
5 async 'mi_trabajo', BUILTINS.sleep / seconds=10;
6 
7 /* Obtener el UUID de la sesión actual */
8 SESSION.sessionId RESULT=r_sess;
9 uuid_actual = r_sess.SESSION;
10 
11 /* Verificar el estado de la acción usando el UUID de la sesión */
12 /* La salida mostrará la acción 'sleep' en estado 'En ejecución' */
13 SESSION.actionStatus / uuid=uuid_actual;
14 
15 /* Esperar a que la acción termine */
16 waitfor 'mi_trabajo';
17 
18 /* Verificar el estado de nuevo, ahora debería estar 'Completada' */
19 PRINT 'Verificando el estado después de la finalización:';
20 SESSION.actionStatus / uuid=uuid_actual;
21QUIT;
Resultado :
Inicialmente, la salida de `actionstatus` mostrará la acción `builtins.sleep` con el estado 'En ejecución'. Después de que la instrucción `waitfor` se complete, la segunda llamada a `actionstatus` mostrará la misma acción con el estado 'Completada', demostrando cómo se puede rastrear el ciclo de vida de una acción.

FAQ

¿Cuál es el propósito de la acción `actionstatus`?
¿Qué parámetro es necesario para la acción `actionstatus`?
¿Qué especifica el parámetro `uuid`?

Escenarios asociados

Caso de uso
Monitoreo de un Trabajo Asíncrono de Puntuación de Riesgo Crediticio

Un banco necesita ejecutar un modelo de machine learning para puntuar el riesgo de crédito de miles de clientes. El proceso es largo y se ejecuta de forma asíncrona para no bloq...

Caso de uso
Supervisión del Estado de Múltiples Cargas de Datos Asíncronas en Paralelo

Un equipo de ingeniería de datos necesita cargar varias tablas grandes a CAS. Para acelerar el proceso, inician múltiples trabajos de carga de forma asíncrona. Necesitan un pane...

Caso de uso
Diagnóstico de un Fallo de Acción y Verificación de Estado entre Sesiones de Usuario

Un administrador de SAS Viya necesita diagnosticar por qué el trabajo de un usuario ha fallado. El administrador, con los permisos adecuados, debe poder inspeccionar el estado d...