SHUTDOWN Messages
Introduction
Support for !SHUTDOWN-… messages is coded into the base Application class.
It should not be necessary for any application to explicitly implement handle
these messages. Your application may wish to extend the shutdown_notice
and shutdown_now methods in order to perform cleanup.
The internal !SHUTDOWN-… messages are:
!SHUTDOWN-NOTICE!SHUTDOWN-NOW
Note that these messages begin with the special ! character, and so are treated
as administration messages. They will be passed between applications using the
dedicated administration message FIFO mechanism, and will always be processed before
user-level messages are processed.
!SHUTDOWN-NOTICE
The !SHUTDOWN-NOTICE message is sent by the WatchdogApp to all other applications
when the shutdown process is initially triggered. The application’s shutdown_notice
method will be invoked and the application’s shutdown_level attribute will be set to
SHUTDOWN_LEVEL_PENDING.
The application should extend the shutdown_notice method in order to stop accepting
new sessions for processing. The application should consider beginning a termination
process on existing sessions.
If the application has a cleanup task which requires interaction with other applications, or which may take some time to complete, the application should begin that cleanup task now.
The attributes of the !SHUTDOWN-NOTICE message are:
| Field | Type | Description |
|---|---|---|
seconds
|
Integer |
The number of seconds until the !SHUTDOWN-NOW message will be sent.
|
!SHUTDOWN-NOW
The !SHUTDOWN-NOW message is sent by the WatchdogApp to all other applications
a configured number of seconds after the shutdown process is triggered.
The application’s shutdown_now method will be invoked and the application’s
shutdown_level attribute will be set to SHUTDOWN_LEVEL_SHUTDOWN.
No more EDRs can be written after this time. User-level messages between applications are no longer permitted after this time.
The application should perform final internal cleanup tasks such as caching state to disk, flushing buffers, shutting down network sockets, closing files, etc.
The attributes of the !SHUTDOWN-NOW message are:
| Field | Type | Description |
|---|---|---|
milliseconds
|
Integer | The number of milliseconds until the application will be terminated. |
After the configurable number of milliseconds has elapsed, the next application
polling loop cycle will call exit to terminate the application process.