Tuesday

More of Peoplesoft Process Scheduler

Process Scheduler Maintenance tasks
1) Purging the process scheduler request tables- In order to keep Process Scheduler request tables as small as possible, we need to purge these regularly as these tables can grow at a significant rate and degrade performance of Process Monitor component.
2) Lowering OS priority of batch processes - possible for UNIX systems only,, adding -n option with a desired value to CLOPT increases/lowers the priority. It is set in psprcsrv.ubx.
3) Mutually Exclusive Processing- This can be achieved by setting/defining mutually exclusive processes on process definition page. It may be desirable to prevent certain processes from running when other processes are already running. Sometimes, batch processes fail because Oracle detects a deadlock and timeout occurs.
4) Diverting certain process types to run on different/specific Process Scheduler- This can be achieved by setting Max Concurrent value to zero on all other schedulers. This is specified on server definition page.

 
Application Engine Server (PSAESRV) and PSAE
Application Engine is a threaded process and continue to execute even after completing a service request and while it is executing, the process scheduler makes periodic service calls to PSAESRV to check the status of program, these calls are counted towards PSAESRV's recycle count. Therefore in a production environment, its recycle count is kept zero so that the server might not try to recycle itself while it is in the middle of executing an application engine process.

Delivered AE programs often but not always truncate the intermediate work tables - *_WRK_ etc. and so we need to monitor used and unused space in temporary tablespace as the intermediate tables are not cleared out once the AE job is over. It is always necessary to add additional truncate statements to AE programs.

PSAE (the command line AE) has the added advantage of being recycled after completing each of AE job and cleaning up the resources and outstanding cursors eliminating the risk of possible memory leakage. You disable PSAESRV in a process scheduler domain to take advantage of this feature.

* Application Engine is the only delivered process type that is Restartable, once an AE process errors out with a run status of No Success (7) , it means that the program encountered an error within a transaction and it is marked as Restartable.
 

PSJobs: Its a container of processes and other PSJobs where each process/PSJob has a defined sequence in which it runs in relation to the others. On server definition page, PSJob is not a valid process type for which we define Max Concurrent value and it is always allowed to run in all server definitions. On job definition page, we have the option (Run Mode - Serial or Parallel) to choose how the child processes are run. This setting along with the Run Always settings for individual child process/job determines the run status of each of the process within this PSJob.

Important PSJobs and Processes
1) SYSAUDIT - checks inconsistencies in peopletools definitions and existing PS objects and therefore identifies the orphaned objects.
2) DDDAUDIT - Database Designer/Database Audit- checks inconsistencies between PS records/indexes and equivalent database tables/indexes.
3) XRF* Reports - these are cross reference reports which
4) PRCSYSPURGE - this archive Report Manager tables and purges Process Scheduler request tables.
5) ALLTYPES - a PSJob which runs test programs for COBOL, Crystal and SQR.
6) PRCSSRVCLEAN - cleans up process scheduler cache.
7) XPRTUSR - it runs the datamover script PS_HOME\scripts\userexport.dms from within process scheduler and exports all operators into the output file - USEREXPORT.dat. 


Master Process Scheduler Server (PSMSTPRC): This is an optional server which enables Load Balancing and Failover. In the event of a scheduler server failure/unavailability, it redistributes the queued requests among remaining active scheduler domains. If more than one PSMSTPRC is configured then only one of these is active at a time and others remain Idle. If one goes down then the other one takes the control and if no master is available then PSPRCSRV switchs back to standalone mode and queries the request table for work. The server starts after loading Java VM Library classes and registers available Remote server agents and reads their profile. Then it searches for scheduled JobSets,  calculates the New Workload Total, assigns New requests to schedulers, checks status of Active processes and total count of Active Processes, tally the statistics of activities on all registered servers and updates its Task Active List by removing or adding requests.

A server agent's profile comprises of its configuration (Max API Aware value, OS, whether PSAESRV is enabled for that agent) and its definition as defined on Server Definition Page. The important options on this page are-
1) Server Load Balancing option- the two available options are 1) Do not use for load balancing and 2) Use for load balancing. Select 2 if this server can be assigned requests which do not have a specific server name specified for the request to run on.
2) Redistribute WorkLoad option- this option directs PSMSTPRCS the action to take in the event if the server goes down, or encounters a s/w or h/w problem. You choose among-
1) Redistribute to any OS,
2) Redistribute with same OS, and
3) Do not Redistribute.


Master Process Scheduler, multiple schedulers and Load Balancing
1) Primary Operating System - Process Scheduler -> System Settings page specifies the OS to be assigned to all new queued requests with a blank server name specified, If system detects that the request cannot be run on this OS then the request is assigned to the server running on OS specified on process type definition.
2) Load Balancing option - this option on System Settings page affects how PSMSTPRC attempt to load balance the work. We choose between-
1- Assign To Primary OS Only,
2- Assign To Server in Any OS.

Retention Days- this specifies the number of days before the files on report repository are deleted. Retention Days for a report can be set at various levels, system determines the retention days in below order of specification-
1) Run Control record,
2) Process Definition,
3) Process Type Definition, and
4) System Settings.

 

Report Node/Distribution Node- Report distribution node defines how the reports are moved from log_output directory to the Report Repository. Reports are moved using XCopy/FTP or HTTP/HTTPS depending on type of OS. Report repository is configured on webserver machine where website is hosted.


Setting up Report Node -
1) Both the Process Scheduler and webserver are on windows machine - Use XCopy/FTP or HTTP/HTTPS, if FTP information (ftp ID and pswd) is not supplied then the system performs a XCopy. However, for XCopy, the report repository must be on a share drive on network.
 2) If process scheduler is on windows and webserver on UNIX then FTP or HTTP/HTTPS is used.
The ftpid must have the write access to report repository.

While setting up the report node, you specify the URL of the webserver - http://<machine_name>:/<port>/psreports/<website_name>.

URI host must have the FQDN value instead of IP address if host OS is UNIX and Auth Token Domain option was specified during PIA installation. URI port is the port number of webserver. URI Resource should have a value SchedulerTransfer/<website-name>. A userid /password is required if basic authentication is required at webserver.

Once report node is defined, it is attached to process scheduler server. PSDSTSRV (the dispatcher agent) takes information from PS_CDM_DIST_NODE for report node definition and transfers output files from log_output to the report repository.
 

Trace Settings- To set tracing at domain level, update the TraceSql parameter in respective configuration file (psprcs.cfg or psappsrv.cfg) with desired value i.e. TraceSql=15. This causes the trace files (TRACESQL) to be generated in log directory.(Dynamic changes are allowed for this setting).

To set tracing tracing at process definition level, Open the Process Definition under PeopleTools, Process Scheduler. Go to the override tab, and on the Parameter list line select Append from the dropdown, and in the edit box next to it, you can use the desired combination of traces, a typical example to trace an AE program would be-

              -TRACE 7 -TOOLSTRACSQL 131

Logfence - This value specifies logging level details in logs. Its default value is 3 and the max value can be set as 5. This is specified in domain configuration file - psprcs,cfg or psappsrv.cfg.(Dynamic changes are allowed for this setting).


 

1 comment:

Followers