Cambia una acción que se está ejecutando actualmente de modo síncrono a modo de lote (asíncrono). Esto permite que la sesión del cliente se libere y ejecute otras tareas sin esperar a que la acción original, a menudo de larga duración, se complete. La acción original continúa procesándose en segundo plano en el servidor CAS.
| Parámetro | Descripción |
|---|---|
| uuid | Especifica el identificador universal único (UUID) de la sesión que contiene la acción que se cambiará a modo de lote. Este es un parámetro obligatorio. |
La acción `batchresults` no opera sobre una tabla CAS directamente, sino sobre una sesión CAS existente y su trabajo en ejecución. Por lo tanto, no es necesario cargar o crear datos para utilizar esta acción. El requisito principal es tener una acción ejecutándose en una sesión cuyo UUID se conozca.
| 1 | /* No se necesita código de preparación de datos. La acción opera sobre el estado de la sesión. */ |
Este ejemplo muestra cómo cambiar una acción que se está ejecutando en otra sesión a modo de lote. Se asume que se conoce el UUID de la sesión de destino y se proporciona como una cadena de texto.
| 1 | |
| 2 | PROC CAS; |
| 3 | |
| 4 | SESSION.batchresults uuid="a1b2c3d4-e5f6-7890-1234-567890abcdef"; |
| 5 | |
| 6 | RUN; |
| 7 |
En este escenario, primero iniciamos una nueva sesión CAS (`long_running_session`) y ejecutamos una acción que consume mucho tiempo (simulada aquí con `builtins.sleep`). Luego, desde nuestra sesión principal, usamos la acción `listSessions` para encontrar el UUID de `long_running_session` y finalmente usamos `batchresults` para pasar la acción de suspensión a segundo plano.
| 1 | PROC CAS; |
| 2 | |
| 3 | /* 1. Iniciar una nueva sesión y una acción de larga duración de forma asíncrona para obtener su UUID. */ |
| 4 | SESSION sessTwo; |
| 5 | ACTION BUILTINS.sleep / seconds=120 async='sleepJob'; |
| 6 | |
| 7 | /* 2. Obtener el UUID de la sesión 'sessTwo' */ |
| 8 | listSessions RESULT=r; |
| 9 | string sessTwoUuid = r.SESSION.UUID[2]; /* Suponiendo que es la segunda sesión en la lista */ |
| 10 | PRINT 'El UUID de la sesión de destino es: ' sessTwoUuid; |
| 11 | |
| 12 | /* 3. Usar el UUID obtenido para cambiar la acción a modo de lote */ |
| 13 | SESSION.batchresults uuid=sessTwoUuid; |
| 14 | |
| 15 | RUN; |
Un científico de datos está entrenando un modelo de machine learning (regresión logística) sobre un gran conjunto de datos de clientes para predecir el abandono. El entrenamient...
Un administrador de SAS Viya detecta una sesión interactiva que ha estado ejecutando una consulta de agregación masiva durante un tiempo inusualmente largo, consumiendo recursos...
Un analista intenta gestionar trabajos en CAS pero comete un error al copiar el UUID de la sesión, proporcionando un identificador que no existe. El objetivo de este test es ase...