PeopleSoft Process Scheduler Processes Explained: What Each One Does
A complete reference for every Tuxedo server process in the Process Scheduler domain — PSPRCSRV, PSAESRV, PSDSTSRV, PSMSTPRC, PSMONITORSRV and more. Purpose, configuration, tuning, and troubleshooting all in one place.
📋 Table of Contents
- What Is the PeopleSoft Process Scheduler?
- Process Scheduler Architecture & Boot Order
- PSPRCSRV — The Server Agent
- PSAESRV — Application Engine Server
- PSDSTSRV — Distribution Agent
- PSMSTPRC — Master Scheduler Server
- PSMONITORSRV — Performance Monitor
- PSAEOSRV — Analytic Engine Server
- Process Summary Reference Table
- Key Configuration: psprcs.cfg
- Process Types the Scheduler Runs
- Troubleshooting Common Issues
- Frequently Asked Questions
Every PeopleSoft administrator knows that the Process Scheduler is where batch jobs, reports, and Application Engine programs run. But far fewer understand the individual server processes that make it work — what PSPRCSRV actually does every 15 seconds, why PSDSTSRV exists, or when you need PSMSTPRC.
This article covers every Tuxedo server process in the Process Scheduler domain — its purpose, how it fits into the workflow, configuration parameters, and what breaks when it goes down.
What Is the PeopleSoft Process Scheduler?
The PeopleSoft Process Scheduler is the batch processing engine of the PeopleSoft platform. It is responsible for running background jobs — Application Engine programs, SQR reports, Crystal Reports, PS/nVision, COBOL programs, Data Mover scripts, and more — either on a schedule or on demand.
Users submit process requests via Process Monitor in PIA. The Process Scheduler picks up those requests, executes them, and posts the output (reports, log files, trace files) to the Report Repository for users to retrieve.
Like the Application Server, the Process Scheduler is not a single program — it is a collection of specialised Tuxedo server processes, each responsible for a distinct part of the batch processing workflow.
psprcs.cfg), its own set of Tuxedo processes, its own logs directory, and is administered independently via psadmin.
Process Scheduler Architecture & Boot Order
When you start a Process Scheduler domain via psadmin, Tuxedo boots the processes in a strict order. Understanding this order matters for troubleshooting — a failure early in the sequence prevents subsequent processes from starting.
Figure 1: Process Scheduler domain boot order — BBL must start before all others
The overall batch processing workflow follows this path:
process request
table (DB)
polls every 15s
(if AE job)
posts output
Figure 2: End-to-end batch job workflow through the Process Scheduler
PSPRCSRV — The Process Scheduler Server Agent
PSPRCSRV is the heart of the Process Scheduler domain. It is the server agent responsible for orchestrating all background job execution. Every 15 seconds it queries the PSPRCSRQST table in the database to check for process requests that are queued and scheduled to run.
When a scheduled job is found, PSPRCSRV reads the process definition from psprcs.cfg, combines it with the request parameters from the database, and launches the appropriate executable — whether that’s PSAESRV (for Application Engine), an SQR binary, a Crystal Reports engine, or a COBOL program.
At startup, PSPRCSRV reads Max PSAESRV instances settings, validates the PSAESRV server setup, and checks for any pending cancellations. If nothing is scheduled, PSPRCSRV simply sleeps for 15 seconds then checks again — this polling loop continues as long as the domain is running.
Key table: PSPRCSRQST — every submitted process request is a row in this table. PSPRCSRV reads it to find work, and updates it with status changes (Queued → Initiated → Processing → Success/Error).
PSAESRV — Application Engine Server
PSAESRV is a threaded Tuxedo server process that handles the execution of PeopleSoft Application Engine programs — the most common type of batch process in PeopleSoft. Rather than spawning a new OS process for every AE request, PSAESRV maintains a pool of persistent threads that pick up and execute AE programs efficiently.
PSAESRV starts by advertising two Tuxedo services: RunAeAsync (to run an Application Engine program) and ChkAeStatus (to check if a running AE program has completed). PSPRCSRV calls these services when dispatching and monitoring AE jobs.
When an AE job completes, the SERVERID of the PSAESRV instance that ran it is stored in PSPRCSQUE.SESSIONIDNUM — this is how you can trace which PSAESRV instance handled a specific job in your logs.
PSAESRV is marked optional in Oracle’s documentation, but in practice it is required for any environment running Application Engine programs — which is virtually every PeopleSoft installation. You can configure 3 or more instances to allow parallel AE execution.
PSDSTSRV — Distribution Agent
PSDSTSRV is the Distribution Agent — the process responsible for moving completed report output, system log files, and trace files from the batch server to the Report Repository (PS_REPORTWEBDIR), where users can access them via Process Monitor → Report Manager in PIA.
The workflow is: once PSPRCSRV detects that a process has finished with output destination type “Web”, it sends a PostReport Tuxedo service request to PSDSTSRV via the DSTQ queue. PSDSTSRV then picks up the files from the local output directory and transfers them to the Report Repository server.
PSDSTSRV also checks the status of each process in the PS_CDM_LIST report list table. When a process completes and files are ready, the status in this table is updated to “Generated”, signalling that files are available for transfer.
A Report Repository can be set up on Windows or UNIX and a single repository can be shared by multiple PeopleSoft databases — making PSDSTSRV a key piece of multi-environment report consolidation.
PSMSTPRC — Master Scheduler Server
PSMSTPRC is the Master Scheduler — a process that enables intelligent load balancing and failover when you have multiple Process Scheduler server domains configured for the same PeopleSoft database.
Without PSMSTPRC, each Process Scheduler domain independently polls PSPRCSRQST and could pick up the same job — causing duplicate execution. PSMSTPRC acts as the central coordinator, assigning queued jobs to the most appropriate available scheduler based on load, OS type, and server capabilities.
PSMSTPRC also provides failover capability. If one Process Scheduler domain goes down, PSMSTPRC can redirect queued jobs to another available domain automatically, ensuring batch continuity.
It is booted first in the domain startup sequence (after BBL), so it is available before PSPRCSRV begins polling. If you only have a single Process Scheduler domain, PSMSTPRC is optional but still recommended for its monitoring capabilities.
PSMONITORSRV — Performance Monitor
PSMONITORSRV is the Performance Monitor process that runs in both the Application Server and Process Scheduler domains. In the Process Scheduler domain, it collects health and performance data about the scheduler domain and its processes and feeds this data into PeopleSoft’s Performance Monitor framework.
This data powers the performance dashboards available under PeopleTools > Performance Monitor > Administration. Administrators can track job throughput, queue depth, process response times, and server resource utilisation over time.
PSMONITORSRV is started last in the boot sequence and is marked as required by Oracle. It also runs in the Application Server domain, where it monitors PSAPPSRV and other App Server processes. A single Performance Monitor installation can collect data from multiple PeopleSoft domains simultaneously.
PSAEOSRV — Analytic Engine Server
PSAEOSRV is the Analytic Engine Server — a Process Scheduler domain process that handles requests from PeopleSoft’s Analytic Calculation Engine. This is a different engine from Application Engine (PSAESRV) — the Analytic Engine powers multi-dimensional calculations used in modules such as Workforce Analytics, Enterprise Planning, Budgeting, and Incentive Management.
PSAEOSRV manages the loading, calculation, and saving of analytic models. When a user or scheduled job triggers an analytic cube recalculation, PSAEOSRV picks up the request and executes the defined calculation rules against the model data.
This process is optional and should only be configured if your PeopleSoft implementation uses Analytic Calculation Engine-based modules. Configuring it when not needed wastes memory and startup time.
BBL — Bulletin Board Liaison (Scheduler Domain)
The BBL (Bulletin Board Liaison) is Tuxedo’s master administrative process and is the first thing started in any Tuxedo domain — including the Process Scheduler. It maintains the in-memory bulletin board, a shared data structure that tracks all registered services, running server processes, and their availability.
Every other Process Scheduler process — PSPRCSRV, PSAESRV, PSDSTSRV, PSMSTPRC, PSMONITORSRV — registers with the BBL at startup. If BBL dies, the entire domain goes down. Tuxedo automatically monitors and restarts BBL, but if it cannot restart, the domain must be manually re-booted via psadmin.
Process Summary Reference Table
| Process | Full Name | Primary Function | Instances | Required? |
|---|---|---|---|---|
BBL |
Bulletin Board Liaison | Tuxedo master process; service registry and domain health | 1 | 🔴 Yes |
PSPRCSRV |
Process Scheduler Server Agent | Polls for queued jobs every 15s; launches processes; tracks status | 1 | 🔴 Yes |
PSAESRV |
Application Engine Server | Executes PeopleSoft Application Engine batch programs | 3 (recommended) | 🟡 Effectively Yes |
PSDSTSRV |
Distribution Agent | Transfers report output and logs to the Report Repository | 1 | 🔴 Yes |
PSMSTPRC |
Master Scheduler Server | Coordinates load balancing across multiple scheduler domains | 1 | 🟡 Recommended |
PSMONITORSRV |
Performance Monitor | Collects health and performance metrics for dashboards | 1 | 🔴 Yes |
PSAEOSRV |
Analytic Engine Server | Handles Analytic Calculation Engine batch requests | 1 | 🟢 Optional |
Key Configuration: psprcs.cfg
All Process Scheduler process settings are defined in psprcs.cfg, located at $PS_CFG_HOME/appserv/prcs/<domain>/. Here are the most important sections every admin should know:
; ── Database Connection ────────────────────────────────
[Database Options]
DBName=HRPRD
DBType=ORACLE
UserId=PS
UserPswd={encrypted}
ConnectId=people
ConnectPswd={encrypted}
ServerName=
; ── Process Scheduler Server ───────────────────────────
[Process Scheduler]
PrcsServerName=PSUNX ; Name shown in Process Monitor
LogOutputDirectory=/u01/ps/cfg/appserv/prcs/HRPRD/log_output
SQRBIN=/u01/ps/bin/sqr ; Path to SQR binary
ReportOutputDirectory=/u01/ps/cfg/appserv/prcs/HRPRD/log_output
; ── PSAESRV — Application Engine Server ───────────────
[PSAESRV]
Min Instances=3
Max Instances=5
Service Timeout=0 ; 0 = no timeout (AE jobs can be long-running)
Recycle Count=50
; ── PSDSTSRV — Distribution Agent ─────────────────────
[PSDSTSRV]
Min Instances=1
Max Instances=1
Service Timeout=3600 ; 1 hour for large report transfers
; ── Master Scheduler ───────────────────────────────────
[Master Scheduler]
Enable Master Scheduler=1 ; 1=enabled, 0=disabled
Master Scheduler Sleep Time=5 ; Seconds between polling cycles
; ── SQR Settings ──────────────────────────────────────
[SQR]
SQRFLAGS=-ZIF{PSSQR}/pssqr.ini
SQRDIR={SQRBIN}
; ── Logging ───────────────────────────────────────────
[Trace]
TraceFile=%TEMP%/PSPRCSRV_%SERVER%.tracesql
TraceSQL=0 ; Enable only for debugging — never in production
Service Timeout=0 for PSAESRV — a value of 0 means no timeout. Application Engine programs can legitimately run for hours (payroll calculation, year-end processing). A non-zero timeout will kill long-running jobs prematurely.
Process Types the Scheduler Runs
Understanding which executable handles each process type helps you configure the right scheduler settings and troubleshoot failures:
| Process Type | Handled By | Notes |
|---|---|---|
| Application Engine | PSAESRV (via Tuxedo) or spawned process | Most common batch type. Uses PSAESRV thread pool for efficiency. |
| SQR Report | PSPRCSRV spawns SQR binary | Path to SQR binary defined in psprcs.cfg [SQR] section. |
| Crystal Reports | PSPRCSRV spawns Crystal process | Requires Crystal runtime installed on the batch server. |
| PS/nVision | PSPRCSRV (Windows scheduler only) | Requires Windows batch server with Excel installed. |
| COBOL | PSPRCSRV spawns COBOL executable | COBOL runtime must be installed; common in HCM Payroll environments. |
| Data Mover | PSPRCSRV spawns psdmtx | Used for data exports/imports; DM settings in psprcs.cfg. |
| Analytic Engine | PSAEOSRV | Only for environments using Analytic Calculation Engine modules. |
| Job (multi-step) | PSPRCSRV orchestrates | PSPRCSRV manages step sequencing; individual steps use their own handlers. |
Troubleshooting Common Issues
Jobs Stuck in “Queued” Status
If jobs sit in Queued status indefinitely, PSPRCSRV is not picking them up. Check: Is the Process Scheduler domain running? Run psadmin → Server Status to confirm PSPRCSRV is active. Also verify the PrcsServerName in psprcs.cfg matches the server name specified in the process request — mismatched server names mean PSPRCSRV will skip those requests.
Jobs Completing but Output Not Appearing in Report Manager
This points to PSDSTSRV. Check whether PSDSTSRV is running, whether the Report Repository path is correctly configured and accessible from the batch server, and whether PS_CDM_LIST shows the process status as “Generated”. Also verify the Report Node is correctly defined in PeopleTools → Process Scheduler → Report Nodes.
Application Engine Jobs Failing Immediately
If AE jobs fail without meaningful output, PSAESRV may not be running or may have crashed. Check the PSAESRV process in Server Status and look at the scheduler log (SCHDLR_MMDD.log) for PSAESRV start failures. Common causes include Java Runtime issues (some AE programs require JRE on the batch server) or database connectivity problems.
Domain Won’t Start — BBL Failure
If the domain fails to start, check for stale IPC resources or a leftover PID file from a previous unclean shutdown. Run ipcrm to clean shared memory segments, then remove the .pid file from the domain directory before attempting to restart.
Long-Running Jobs Killed Unexpectedly
Check Service Timeout settings — particularly for PSAESRV where it should be 0 (no timeout). Also check OS-level memory limits and verify the batch server has sufficient RAM — PSAESRV processes for large AE programs can consume 300–500 MB each.
Frequently Asked Questions
Master PeopleSoft Process Scheduler Administration
Learn to configure, tune, and troubleshoot every Process Scheduler process with real-time lab access and expert instruction from corporate professionals.

Comments are closed