?> actionstatus - WeAreCAS
session

actionstatus

Beschreibung

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.

session.actionstatus <result=results> <status=rc> / uuid="string";
Einstellungen
ParameterBeschreibung
uuidGibt die UUID (Universally Unique Identifier) der Aktion an, deren Status abgerufen werden soll. Diese ID wird zurückgegeben, wenn eine Aktion asynchron gestartet wird.
Datenaufbereitung
Datenvorbereitung und asynchrone Aktion

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;

Beispiele

Nachdem eine Aktion asynchron gestartet wurde (siehe Datenvorbereitung), verwenden wir ihre UUID mit der `actionstatus`-Aktion, um ihren aktuellen Status zu überprüfen.

SAS® / CAS-Code
Kopiert!
1PROC CAS; SESSION.actionstatus / uuid=job_uuid; RUN;
Ergebnis :
Die Ausgabe ist eine Ergebnistabelle, die den Status der Aktion anzeigt. Typische Zustände sind 'running' (laufend), 'completed' (abgeschlossen), 'failed' (fehlgeschlagen) oder 'canceled' (abgebrochen). Die Tabelle enthält auch Metadaten wie die Zeit der Einreichung und den Namen der Aktion.

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.

SAS® / CAS-Code
Kopiert!
1PROC 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;
15RUN;
Ergebnis :
Zuerst wird eine Tabelle mit allen aktiven Sitzungen und ihren UUIDs ausgegeben. Anschließend versucht die `actionstatus`-Aktion, den Status des Jobs mit der angenommenen UUID abzurufen. Das Ergebnis ist eine Tabelle, die den Zustand der Aktion anzeigt, z. B. 'completed', oder einen Fehler, wenn die UUID nicht gefunden wird.

FAQ

Was ist der Zweck der `actionstatus`-Aktion?
Welcher Parameter ist für die `actionstatus`-Aktion erforderlich?
Wie lautet die Syntax für die `actionstatus`-Aktion in CASL?
In welchem Aktionssatz ist die `actionstatus`-Aktion enthalten?

Zugehörige Szenarien

Anwendungsfall
Standardüberwachung eines asynchronen Analysejobs

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...

Anwendungsfall
Überwachung eines langlaufenden ETL-Jobs unter Last

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...

Anwendungsfall
Grenzfalltest: Fehlerbehandlung für ungültige und fehlgeschlagene Aktionen

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...