Kernel Engine (Engine krn)
The jobs of the kernel executor krn serve for the internal management of the application server processes.
These are particularly functions for batch management, server monitoring, registry management
and administration of loaded engines at runtime.
2. Channel Management
These jobs concern the server communication channel and the callback channel built on top of it, over which the server pushes messages and job calls to a client (e.g. krn.OnRegisteredJobCall, or the adm.On<Message> callback resulting from krn.SendMessageToClients). The callback mechanism is described under krn.GetChannelGUID.
3. Registered Job Call (RJC) / job-call monitoring
The RJC mechanism registers a session as a server-wide live monitor for job calls: for every call of a monitored job — across all sessions and users — the server pushes a notification over the callback channel. This is the mechanism behind the Enterprise Manager’s live event view. Internal infrastructure — for administration, diagnostics and monitoring only.
5. Registry Management
These jobs serve for registry management. Registry entries can be queried or changed.
8. Queue and Thread Monitoring
The server operates several named queues. Each queue is served by a fixed pool of threads (NumThreads) and used by one or more engines (namespaces). A job is posted into a queue and executed by one of its threads; it is addressable through the combination of ThreadID, JobNumber and Queue. The following jobs enumerate the queues, read their configuration and statistics, list the threads including their current activity, and can interrupt a running job.
9. Client Management
These jobs enumerate the clients logged on to the server and return detailed information about them.
11. Undocumented Endpoints
The following jobs are offered by the enaio® server in the krn engine but are not currently described in this documentation:
- Channel management (server-to-server communication)
-
krn.ChannelDrop,krn.ChannelEnum,krn.ChannelGetInfo,krn.ChannelGetInfoSR,krn.ChannelMakePing,krn.ChannelOpen,krn.ChannelPingMade,krn.ChannelServerGetInfoSR,krn.ConnectionGetInfoSR,krn.CritSectGetInfoSR - Extended session management
-
krn.CloseSession,krn.CreateSession,krn.GetUserBySessionGUID,krn.OpenSession,krn.SessionCheckPwd,krn.SessionDropNotActive,krn.SessionGetInfoSR,krn.SessionGetSysRoles,krn.SetSessionUser - Server strings (key-value persistence on the 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 and asynchronous jobs
-
krn.AsynchJobResponse,krn.RejectJob - Database pool diagnostics
-
krn.DBGetJTEnum,krn.DBPoolJTEnum,krn.DBPoolRTEnum - Direct SQL access (internal diagnostics)
-
krn.SQLCommand,krn.SQLSelect - Logging and trace configuration
-
krn.ETMGetFileName,krn.ETMRereadConfig,krn.LogConfigReread - Other management
-
krn.AslogGeneralFlags,krn.BatchGetLastResults,krn.CheckClausesFormats,krn.CheckExpires,krn.ClearOvertimedJobs,krn.EnvironmentChanged,krn.ExecutorKernel,krn.ExplorerFind,krn.PacketToSendQueue