PASOESTART is an OpenEdge extension to the TCMAN utility that encapsulates a number of separate startup actions into a single command.

Starting a PAS for OpenEdge instance usually involves manually performing the following individual actions:

  1. Executing tcman clean -A to clean and archive log files.
  2. Running tcman start to launch the instance.
  3. Executing tcman env to check if the instance is running.
  4. Polling the core server to report that the instance startup process has completed.
  5. Scanning the core server and web application context logs for severe conditions that render the server unusable.
  6. Verifying that at least of one child OS process, in the form of an ABL multi-session agent, is running.
  7. Scanning the multi-session agent log file for startup errors that render the agent unusable.

The PASOESTART command produces a more stable and predictable startup process by performing the TCMAN actions described in the first three steps, and then by performing the error checking and process validation described in the final four steps. The PASOESTART command executes until the instance starts without any fatal errors, or until a time-out limit is reached and the startup process is terminated.

The core Apache Tomcat server in PAS for OpenEdge was designed to start even when severe network connection failures or invalid web application contexts render the server unusable by clients. Using PASOESTART helps to ensure that the instance is stable and usable after startup.

Output from the PASOESTART action includes all the status and error messages generated during the various steps in the startup process.

Note: You cannot use PASOESTART to start an instance configured as a Windows service.

Syntax

Executing PASOESTART from PASMAN:

oe-install-dir/bin/pasman pasoestart -I instance-name 
-timeout seconds [-v] [-silent] [-json] [-restart] [-archive] [-container] [-nostop] [-start] [-halt] 
[-query] [-help]

Executing PASOESTART from TCMAN:

instance-dir/bin/tcman{.sh|.bat} pasoestart
-timeout seconds [-v] [-silent] [-json] [-restart] [-archive] [-container] [-nostop] [-start] [-halt] 
[-query] [-help]

Parameters

-I instance-name
The name of the instance to start.
Note: This parameter is required when you execute PASOESTART with PASMAN. This parameter is not necessary when you execute PASOESTART with TCMAN from the instance's instance-name/bin directory.
-timeout seconds

The number of seconds to wait for the PAS for OpenEdge instance to start. If the instance does not start fully within the time-out interval, it is considered hung and is stopped.

If the time-out interval is not specified, the it is set to a default of 30 seconds on UNIX servers and 120 seconds on Windows servers. If the interval is set to 0, only the current state of the specified instance is displayed. Negative values are not allowed and generate a command-line option error if used.
Note: The -timeout option is not required if you specify the -v option or the -restart option.
-v

Displays verbose execution information to the console.

-silent

Sends execution information to a log file (instance-name/logs/pasoestart.log).

Note: Status information is still sent to the console when you use -silent. See Status Information.
-json

Formats completion status information as a JSON object and sends it to the console. The default format is multi-line TEXT output to the console.

The following shows the format of the JSON output:
{
"start-action":"startup-action",
"initial-state":"pasoe-state",
"initial-processes":"os-process-list",
"exit-state":"pasoe-state",
"exit-description":"execution-status",
"exit-processes":"os-process-list",
"exit-status":"exit-status",
"exit-errors":
 [ “line-of-error-text”
             .
             .
             .           
   “line-of-error-text” ]
}
-restart

Stops the instance and performs a full startup if the instance is already running or is in a hung state.. If the instance is in the stopped state, then this option has no effect.

-start

If the instance is not running, execute this parameter to start the instance.

-halt

This parameter stops a running instance.

-query

This parameter prints or displays the current state of the instance.

-help

This provides the information about the usage of pasoestart command.

-archive
Archives existing log files. This option executes the tcman clean -A command.
-container

Modifies instance startup to not return until a terminate or interrupt signal is received.

-nostop
Turns off the default stop action, which automatically occurs after a time-out, or when PASOESTART detects errors in an instance's log files.
Note: The -nostop parameter can start an instance that is hung or in an unstable state. The primary purpose of this parameter is to force a problematic instance to start in order to debug issues. Do not use it for standard startups.

Status Codes

PASOESTART is a blocking operation. Control is not returned to the shell until operations are complete and the PAS for OpenEdge instance is in a known state. For more information about known state, see Status Information. After PASOESTART completes, the instance’s startup completion status is in the OS error variable (%errorlevel% for Windows, and $? for UNIX). The following table lists and describes the status codes:

Status Code Description
0 The instance started or restarted without errors and is usable in a running state.
1 The core (Tomcat) server process failed to start and the instance is left in the stopped state.
2 The instance started, but encountered errors that make some or all of it unusable, and is left in the stopped state for troubleshooting and problem resolution.
3 The instance is already in the running state, was not restarted, and is left in a running state that may, or may not, be usable.
4 The instance was started from a stopped state, but timed out before it reached a running state. The instance is left in the stopped state for troubleshooting and problem resolution.
5 The instance is hung in the starting state, was not restarted, and is left in the hung starting state.
6 The instance is hung in the stoppingstate, was not restarted, and is left in the hung stopping state.
10 Command-line line option errors prevented the execution of PASOESTART.
11 PASOESTART was used to start a Windows service, and no startup process was attempted.
12 Missing OS process environment variables prevented PASOESTART from running, and no startup process was attempted.
20 An unspecified internal programming error was encountered. Contact OpenEdge technical support for more information.

Status Information

PASOESTART sends status information to the console, even when you use the -silent option. A full status report includes the following information fields, which are available either as human-readable text or as a JSON object:

Field name Description
Start action The type of startup process executed: { start | restart | status }.
Initial state

The initial state of the PAS for OpenEdge instance at execution time:

{ stopped | starting | stopping | running }.

Initial processes

A space-separated list of the OS process IDs for the PAS for OpenEdge instance found at execution time:

A single 0 value indicates that there are no OS processes (stopped).

A single non-zero value indicates that the PAS for OpenEdge server is running but there are no multi-session agents (starting or stopping).

Multiple non-zero values indicate that the PAS for OpenEdge server and at least one multi-session agent is running; however, there may be errors that prevent the instance from serving clients.

Exit state The state of the PAS for OpenEdge instance when the PASOESTART command completes. See the Initial state field name entry for state names.
Exit description A text description of the command completion status.
Exit status A single numerical value of the PASOESTART command’s completion status. See the list of PASOESTART exit statuses.
Exit errors

A brief list of error or fatal log file entries found in the PAS for OpenEdge log files. This provides hints about why the PAS for OpenEdge instance startup failed and provides references for where the administrator or developer can find the full error output.

The Exit errors information may be blank or empty for some types of completion statuses.

Server state transitions

PASOESTART may transition the state of a PAS for OpenEdge instance zero or more times during its execution. The following table shows the different initial and exit state transitions an instance may go through.

Initial state Exit state Description
stopped started PASOESTART succesfully started Tomcat, the OpenEdge application, the multi-session agent, and startup event procedures
stopped stopped

Startup failed and the instance was stopped due to a PASOESTART time-out or errors.

stopped starting A startup time-out was detected, and the server is hung in the starting state after a failed attempt to stop the instance.

Try the PASOESTART restart command once, and then manually stop the instance if the restart is not successful.

started started The instance is already running. The state of the instance is not changed. The server may, or may not, be usable.
started started After a PASOESTART restart, a running instance was stopped, and then Tomcat, the OpenEdge application, the multi-session agent, and startup event procedures were restarted successfully.
started stopped

After a PASOESTART restart, a running instance was stopped, and failed while restarting due to a time-out or errors.

Try the PASOESTART restart command once more, then manually stop the instance if restart is not successful.

started starting

After a PASOESTART restart, a running instance was stopped, and timed out in thestarting state.

The instance is not in a usable condition. Retry the PASOESTART restart command once. If it is not successful, manually stop the instance.

starting starting After a PASOESTART restart, an instance is hung in the startingstate and no restart was performed.

The instance is not in a usable condition. Retry the PASOESTART restart command once. If it is not successful, manually stop the instance.

starting starting The PASOE instance is hung in the starting state and no restart was performed. The instance is not in a usable condition. Manually stop the instance or run a PASOESTART restart.
starting stopping After attempting to stop an instance hung in the starting state, the instance hangs in the stopping state.

The instance is not in a usable condition. Try the PASOESTART restart command once. If it is not successful, manually stop the instance.

starting stopped

After a PASOESTART restart, an instance hung in the starting state, was stopped, and failed to restart due to a time-out our errors.

Retry the PASOESTART restart command once.

starting started After a PASOESTART restart, an instance hung in the starting state was stopped and then Tomcat, the OpenEdge application, the Agent, and startup event procedures were restarted successfully.
stopping stopping The instance is hung in the stopping state and no restart was performed. The instance is not in a usable condition. Manually stop the instance or run a PASOESTART restart.
stopping stopping

After a PASOESTART restart, an instance hung in the stopping state , was stopped, restarted, and then hung in the stopping state because of a time-out or errors.

The instance is not in a usable condition. Manually stop the instance.

stopping stopped

After a PASOESTART restart, an instance hung in the stopping state , was stopped, restarted, and stopped a second time because of a time-out or errors.

The instance is not in a usable condition.

stopping started After a PASOESTART restart, an instance hung in the stopping state, was stopped, and then successfully restarted and then Tomcat, the OpenEdge application, the Agent, and startup event procedures were restarted successfully.