?>
Ruft den Status einer bestimmten Aktion innerhalb einer CAS-Sitzung ab. Dies ist besonders nützlich, um den Fortschritt von asynchron ausgeführten Aktionen zu überwachen. Anstatt auf den Abschluss einer Aktion zu warten, kann man ihre Job-ID (UUID) speichern und ihren Status (z. B. 'Laufend', 'Abgeschlossen', 'Fehlgeschlagen') zu einem späteren Zeitpunkt abfragen.
| Parameter | Beschreibung |
|---|---|
| uuid | Gibt die UUID (Universally Unique Identifier) der Aktion an, deren Status abgerufen werden soll. Diese ID wird zurückgegeben, wenn eine Aktion asynchron gestartet wird. |
Um `actionstatus` zu demonstrieren, müssen wir zuerst eine Aktion starten, deren Status wir überwachen können. Wir laden die Tabelle `iris` in die CAS-Bibliothek `casuser` und starten dann eine `summary`-Aktion asynchron. Die `async`-Option gibt uns eine Job-ID (UUID) zurück, die wir für die `actionstatus`-Aktion verwenden.
proc cas;
loadactionset "datastep";
datastep.runCode / code="data casuser.iris; set sashelp.iris; run;";
loadactionset "simple";
/* Starten Sie eine Zusammenfassungsaktion asynchron, um eine Job-ID zu erhalten */
summary_job = simple.summary / table={name='iris'}, async='summary_job';
job_uuid = summary_job.jobid;
print 'Job-UUID zur Überwachung: ' job_uuid;
run;Nachdem eine Aktion asynchron gestartet wurde (siehe Datenvorbereitung), verwenden wir ihre UUID mit der `actionstatus`-Aktion, um ihren aktuellen Status zu überprüfen.
| 1 | PROC CAS; SESSION.actionstatus / uuid=job_uuid; RUN; |
Dieses Beispiel simuliert ein administratives Szenario. Zuerst listen wir alle aktiven Sitzungen auf, um die UUID einer anderen Sitzung zu identifizieren. Dann fragen wir den Status einer Aktion ab, die in dieser spezifischen Sitzung läuft. Dies ist nützlich für Administratoren, um Jobs über das gesamte CAS-System hinweg zu überwachen.
| 1 | PROC CAS; |
| 2 | /* Schritt 1: Alle Sitzungen auflisten, um die Ziel-UUID zu finden */ |
| 3 | SESSION.listSessions RESULT=r; |
| 4 | target_session_uuid = r.SESSION[1,'UUID']; /* Annahme, dass wir die erste Sitzung überwachen */ |
| 5 | PRINT 'Ziel-Sitzungs-UUID: ' target_session_uuid; |
| 6 | |
| 7 | /* Schritt 2: Eine Aktion in einer anderen Sitzung starten (simuliert) und ihre Job-ID abrufen */ |
| 8 | /* In einem realen Szenario würde dieser Job von einem anderen Benutzer in der 'target_session_uuid' gestartet. */ |
| 9 | /* Wir simulieren hier, indem wir eine Job-ID annehmen. */ |
| 10 | /* Nehmen wir an, wir haben eine Job-ID aus einer anderen Quelle erhalten. */ |
| 11 | assumed_job_uuid = 'some-known-action-uuid-from-another-session'; |
| 12 | |
| 13 | /* Schritt 3: Den Status dieser spezifischen Aktion mit ihrer UUID abrufen */ |
| 14 | SESSION.actionstatus / uuid=assumed_job_uuid; |
| 15 | RUN; |
Ein Datenanalyst führt eine statistische Zusammenfassungsaktion für einen Marketingdatensatz durch. Da die Aktion einige Zeit in Anspruch nehmen könnte, wird sie asynchron ausge...
In einem nächtlichen Batch-Fenster muss ein großer ETL-Prozess (Extrahieren, Transformieren, Laden) auf einer Tabelle mit Millionen von Datensätzen ausgeführt werden. Der Prozes...
Ein CAS-Administrator ist für die Fehlerbehebung im System verantwortlich. Er muss den Status von Jobs überprüfen, von denen einige möglicherweise fehlgeschlagen sind oder mit e...