+91-7678211866  info@peppertechsolutions.com

PeopleSoft Process Scheduler

PeopleSoft Process Scheduler Processes Explained: Complete Guide (2024)
PeopleSoft Administration

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.

📅 Updated: November 2024 ⏱ 12 min read 🏷 PeopleTools · Process Scheduler · Tuxedo

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.

7Distinct processes in the Process Scheduler domain
15sPoll interval PSPRCSRV uses to check for queued jobs
psprcs.cfgSingle config file controlling all scheduler processes
TuxedoMiddleware managing all Process Scheduler processes

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.

💡 Key Distinction The Process Scheduler is a completely separate Tuxedo domain from the Application Server. It has its own configuration file (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.

1. BBL
2. PSMSTPRC
3. PSAESRV
4. PSDSTSRV
5. PSPRCSRV
6. PSMONITORSRV

Figure 1: Process Scheduler domain boot order — BBL must start before all others

The overall batch processing workflow follows this path:

User submits
process request
PSPRCSQST
table (DB)
PSPRCSRV
polls every 15s
PSAESRV
(if AE job)
PSDSTSRV
posts output

Figure 2: End-to-end batch job workflow through the Process Scheduler

PSPRCSRV — The Process Scheduler Server Agent

PSPRCSRV
Process Scheduler Server Agent
The master controller — polls for queued jobs and launches them every 15 seconds
Critical

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).

⚙️ Instances: 1 (always) ✅ Handles: Job polling, process launch, status tracking

PSAESRV — Application Engine Server

PSAESRV
Application Engine Server
Threaded Tuxedo server that executes PeopleSoft Application Engine programs
Optional

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.

⚙️ Instances: 3 (recommended) ✅ Handles: All Application Engine batch programs

PSDSTSRV — Distribution Agent

PSDSTSRV
Distribution Agent
Transfers completed report output and log files to the Report Repository
Critical

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.

⚙️ Instances: 1 ✅ Handles: Report output transfer, PS_CDM_LIST, Report Repository

PSMSTPRC — Master Scheduler Server

PSMSTPRC
Master Scheduler Server
Coordinates load balancing across multiple Process Scheduler domains
Optional

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.

⚙️ Instances: 1 ✅ Handles: Multi-domain load balancing, failover, job routing

PSMONITORSRV — Performance Monitor

PSMONITORSRV
Performance Monitor Server
Collects and reports domain health and performance metrics
Required

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.

⚙️ Instances: 1 ✅ Handles: Performance metrics, health data, monitoring dashboards

PSAEOSRV — Analytic Engine Server

PSAEOSRV
Analytic Engine Server
Handles Analytic Engine batch calculations (Workforce Analytics, Budgeting, etc.)
Optional

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.

⚙️ Instances: 1 ✅ Handles: Analytic cube calculations, Workforce Analytics, Budgeting

BBL — Bulletin Board Liaison (Scheduler Domain)

BBL
Bulletin Board Liaison
Tuxedo’s master process — the domain heartbeat that all other processes depend on
Critical

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.

⚙️ Instances: 1 (always) ✅ Handles: Tuxedo service registry, process health monitoring, domain lifecycle

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
⚠️ Tip: Service Timeout for PSAESRV Set 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 TypeHandled ByNotes
Application EnginePSAESRV (via Tuxedo) or spawned processMost common batch type. Uses PSAESRV thread pool for efficiency.
SQR ReportPSPRCSRV spawns SQR binaryPath to SQR binary defined in psprcs.cfg [SQR] section.
Crystal ReportsPSPRCSRV spawns Crystal processRequires Crystal runtime installed on the batch server.
PS/nVisionPSPRCSRV (Windows scheduler only)Requires Windows batch server with Excel installed.
COBOLPSPRCSRV spawns COBOL executableCOBOL runtime must be installed; common in HCM Payroll environments.
Data MoverPSPRCSRV spawns psdmtxUsed for data exports/imports; DM settings in psprcs.cfg.
Analytic EnginePSAEOSRVOnly for environments using Analytic Calculation Engine modules.
Job (multi-step)PSPRCSRV orchestratesPSPRCSRV 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

Q: What is the difference between PSAESRV and PSAEOSRV?
PSAESRV handles PeopleSoft Application Engine programs — the standard batch processing framework used across all PeopleSoft modules. PSAEOSRV handles the Analytic Calculation Engine — a completely separate engine used specifically for multi-dimensional analytics in modules like Workforce Analytics and Budgeting. Most environments only need PSAESRV; PSAEOSRV is only required if you use analytic engine-based features.
Q: Do I need PSMSTPRC if I only have one Process Scheduler domain?
PSMSTPRC is optional with a single scheduler domain since there is nothing to load-balance across. However it is still recommended as it provides useful monitoring capabilities and simplifies the path if you later add a second scheduler domain. It is lightweight and adds minimal resource overhead.
Q: Why does PSPRCSRV only poll every 15 seconds? Can I change this?
The 15-second polling interval is the default built into PSPRCSRV. In older PeopleTools versions this was a fixed constant. In more recent versions you can adjust the sleep interval slightly via configuration, but Oracle does not recommend reducing it significantly as frequent polling increases database load. For near-real-time batch processing needs, consider using Application Engine programs called via Integration Broker instead.
Q: How many PSAESRV instances should I configure?
Oracle recommends a default of 3 instances. The right number depends on how many Application Engine jobs you expect to run concurrently. Each PSAESRV instance handles one AE job at a time. Monitor peak concurrency in Process Monitor and size accordingly — 5–7 instances is common for busy production environments. Remember each instance consumes 200–500 MB of RAM.
Q: What is the PS_CDM_LIST table and why does it matter?
PS_CDM_LIST (Content Distribution Manager List) is the table that tracks report output files for transfer to the Report Repository. When PSPRCSRV initiates a process request with output destination type “Web”, an entry is inserted in PS_CDM_LIST. When the process completes, the status is updated to “Generated” and PSDSTSRV picks it up for transfer. If users cannot see reports in Report Manager, this table is the first place to investigate — check whether entries exist and what status they show.
Q: Can the Process Scheduler run on a different server from the Application Server?
Yes — and this is the recommended production architecture. Running the Process Scheduler on a dedicated batch server isolates resource-intensive batch jobs from interactive users. The Process Scheduler connects directly to the database (not through the Application Server), so it only needs database connectivity, not Application Server connectivity. You can have multiple batch servers each running their own Process Scheduler domain against the same database.
PeopleSoft Admin Training

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.

30+ Hours Instructor-Led Training
Real-Time Lab Access
PeopleTools Upgrade & Patching
Interview & Resume Support

📞 Call / WhatsApp +91-7678211866
📧 Email info@peppertechsolutions.com
#PeopleSoft #ProcessScheduler #PSPRCSRV #PSAESRV #PSDSTSRV #Tuxedo #PeopleTools #PeopleSoftAdmin #Oracle #BatchProcessing

Comments are closed