Kernel-Engine (Engine krn)
Die Jobs des Kernel-Executors krn dienen der internen Verwaltung der Applikationsserverprozesse.
Dies sind insbesondere Funktionen zur Batch-Verwaltung, Serverüberwachung, Registry-Verwaltung
und zum Administrieren geladener Engines zur Laufzeit.
2. Channel-Verwaltung
Diese Jobs betreffen den Server-Kommunikationskanal (Channel) sowie den darauf aufsetzenden Callback-Kanal, über den der Server Nachrichten und Jobaufrufe an einen Client pusht (z. B. krn.OnRegisteredJobCall oder der aus krn.SendMessageToClients resultierende Callback adm.On<Message>). Der Callback-Mechanismus ist bei krn.GetChannelGUID beschrieben.
3. Registered Job Call (RJC) / Job-Call-Monitoring
Der RJC-Mechanismus registriert eine Session als serverweiten Live-Monitor für Jobaufrufe: Der Server pusht für jeden Aufruf eines überwachten Jobs — über alle Sessions und Benutzer hinweg — eine Benachrichtigung über den Callback-Kanal. Dies ist der Mechanismus hinter der Live-Ereignisansicht des Enterprise Managers. Interne Infrastruktur — nur für Administration, Diagnose und Monitoring.
5. Registry-Verwaltung
Diese Jobs dienen der Registry-Verwaltung. Es können Registry-Einträge abgefragt oder geändert werden.
8. Queue- und Thread-Monitoring
Der Server betreibt mehrere benannte Queues. Jede Queue wird von einem festen Pool von Threads (NumThreads) bedient und von einer oder mehreren Engines (Namespaces) genutzt. Ein Job wird in eine Queue eingestellt und von einem ihrer Threads ausgeführt; er ist über die Kombination aus ThreadID, JobNumber und Queue adressierbar. Die folgenden Jobs listen die Queues auf, lesen deren Konfiguration und Statistik, listen die Threads samt ihrer aktuellen Tätigkeit auf und können einen laufenden Job unterbrechen.
9. Client-Verwaltung
Diese Jobs listen die am Server angemeldeten Clients auf und liefern Detailinformationen zu ihnen.
11. Nicht dokumentierte Endpunkte
Folgende Jobs werden vom enaio®-Server in der krn-Engine bereitgestellt, sind in dieser Dokumentation aber derzeit nicht beschrieben:
- Channel-Verwaltung (Server-zu-Server-Kommunikation)
-
krn.ChannelDrop,krn.ChannelEnum,krn.ChannelGetInfo,krn.ChannelGetInfoSR,krn.ChannelMakePing,krn.ChannelOpen,krn.ChannelPingMade,krn.ChannelServerGetInfoSR,krn.ConnectionGetInfoSR,krn.CritSectGetInfoSR - Erweiterte Session-Verwaltung
-
krn.CloseSession,krn.CreateSession,krn.GetUserBySessionGUID,krn.OpenSession,krn.SessionCheckPwd,krn.SessionDropNotActive,krn.SessionGetInfoSR,krn.SessionGetSysRoles,krn.SetSessionUser - Server-Strings (Key-Value-Persistenz am Server)
-
krn.SrvStrg_Clear,krn.SrvStrg_ElementDelete,krn.SrvStrg_ElementEnum,krn.SrvStrg_ElementExists,krn.SrvStrg_ElementGet,krn.SrvStrg_ElementNames,krn.SrvStrg_ElementProps,krn.SrvStrg_ElementSet,krn.SrvStrg_Load,krn.SrvStrg_Save - Prepared Jobs
-
krn.PreparedJobDel,krn.PreparedJobEnum,krn.PreparedJobExecute,krn.PreparedJobState,krn.PreparedJobStop,krn.PreparedJobUnlock - Profiler
-
krn.ProfilerConfigGet,krn.ProfilerConfigSet,krn.ProfilerStart,krn.ProfilerStop - Job-Callbacks und asynchrone Jobs
-
krn.AsynchJobResponse,krn.RejectJob - Datenbank-Pool-Diagnose
-
krn.DBGetJTEnum,krn.DBPoolJTEnum,krn.DBPoolRTEnum - Direkter SQL-Zugriff (interne Diagnose)
-
krn.SQLCommand,krn.SQLSelect - Logging und Trace-Konfiguration
-
krn.ETMGetFileName,krn.ETMRereadConfig,krn.LogConfigReread - Sonstige Verwaltung
-
krn.AslogGeneralFlags,krn.BatchGetLastResults,krn.CheckClausesFormats,krn.CheckExpires,krn.ClearOvertimedJobs,krn.EnvironmentChanged,krn.ExecutorKernel,krn.ExplorerFind,krn.PacketToSendQueue