Session Timeout



Configuration

Session timeouts in Profound UI / Genie are controlled through 2 directives in the HTTP server configuration file. The http server configuration file is located by default at /www/profoundui/conf/httpd.conf. The 'profoundui' portion of the path corresponds to the HTTP server instance name, which can be customized at installation time.

The directives which control the timeout (default values shown) are:

SetEnv PUI_TIMEOUT 3600 MaxPersistentCGITimeout 3600

The values are given in seconds, so the default is 1 hour. These directives must be set to the same value for proper behavior. There is no special value which indicates "unlimited" timeout. It's generally advisable to use a value of 1 hour or less here (see Usage Notes below) to ensure clean up of jobs in the event that the user does not close the session properly.

These directives control how long the system will keep a session job active if there are no page requests (i.e. user screen submit) in the job. If the user tries to submit the screen after the session has timed out, a "session timed out" message will display and the user will be directed back to the sign on display (Genie) or to the TIMOUTSCRN record format of PUISCREENS (outside of Genie).

A third directive (default value shown) controls how long the HTTP server will wait before giving up on a long running page request:

Timeout 3600

This value is also given in seconds, so the default is also 1 hour. If this time elapses after a user submits the screen, but before the application responds (such as for a long running query, etc.), the page request will be aborted and an error message will display.

After making any changes in "httpd.conf", the HTTP server instance must be restarted to make them effective.

Usage Notes

It's not generally advisable to set the session timeout to a very long value. This timeout enables the system to end jobs in the event that the user has shut down their PC, disconnected from the network, etc. If it is desired to prevent session timeout entirely, a better way of acheving this is to use the "keep alive" feature. This will make an intermittent page request to the session job to keep it active, as long as the user has Profound UI / Genie open in the browser:

https://profoundlogicsupport.atlassian.net/wiki/x/zATOCQ

If this setting is enabled, and set to a value that is less than session job timeout, the session will be "kept alive" as long as the browser is open, while still allowing the server-side session timeout to end jobs if the user shuts down the PC, disconnects from the network, etc.