My Oracle Support Banner

E-PRCS: Primary Note for PSJobs and Scheduled JobSets (Doc ID 1266611.1)

Last updated on JULY 27, 2022

Applies to:

PeopleSoft Enterprise PT PeopleTools - Version 8.44 and later
Information in this document applies to any platform.
** Reviewed Currency on 6th April, 2016**

Details

 

Process Scheduler PSJobs and Scheduled JobSet Primary Note
 

This document provides an overview on the most common issues and most frequently asked questions in relation to PSJobs and Scheduled JobSet.

Known Behaviors

1. Process Scheduler Scheduled JobSet does not run.
2. Scheduled JobSet runs to "Success", but some process/PSJob stays in "Pending".
3. Changes to recurring JobSets, PSJobs, processes not taking effect.
4. Schedule Next Recurrence does not work for a JobSet.
5. Multiple instances of the same recurring PSJob or Scheduled JobSet may be queued by the Process Scheduler when using the Monthly Recurrence.
6. PSJob remain in "Processing" status.

In order to run Scheduled JobSets you need the Master Scheduler running.

Below is a section from Peoplebooks on this subject. 


PeopleTools 8.4x PeopleBook: PeopleSoft Process Scheduler > Managing PeopleSoft Master Scheduler Servers


The Master Scheduler is an optional server that enables you to distribute workload across multiple Process Schedulers.
However, this table shows specific circumstances that mandate having an active Master Scheduler available:
Active Schedule JobSets are defined.
Only a Master Scheduler can schedule any active Schedule JobSets.
The Master Scheduler is also responsible for scheduling any recurring Schedule JobSets.

When definitional changes are made to a Process, PSJob, Scheduled JobSet, or Recurrence, any queued Process/PSJob or Active Scheduled JobSet must be stopped before the change is made.
Otherwise a corruption will, in all likelihood, result. 


Should a corruption occur, shutdown the process scheduler and delete CACHE, then restart. 


Process Scheduler server cache is located under process scheduler server box's PS_HOME/Appserv/prcs//CACHE

In some cases it may be necessary to create a new Process/PSJob/Recurrence or Scheduled JobSet.

Things to try when a corruption will occur:

1. Change the time on the JobSet Definition page after deactivating the Jobset and then activate the Jobset.

2. Clear Process Scheduler CACHE and re-boot the scheduler.

3. Remove/delete all queued/scheduled instances of this PSJob, clear Process Scheduler CACHE and reschedule the PSJob.

4. Create a new Scheduled JobSet Definition using a new run control ID, Recurrence, PSJob.

Changes made to active JobSets, PSJOBs, processes and recurrences are not being picked up by the affected Process Scheduler domains.
JobSets, PSJOBs, processes and recurrences are all cached objects on the Process Scheduler.

It is not recommended to make changes to these definitions that are currently active and in use.

To avoid running into the issue, here are some steps that can be taken:

1. Stop/inactivate any active instances for the affected JobSet, PSJOB, Process or recurrence prior to making any changes.

2. Make necessary changes to inactivated JobSet, PSJOB, Process or recurrence.

3. Bring down affected Process Scheduler server domains where instance has previously been run, including the Master Scheduler domain (clearing cache also recommended but may not be required). If it is not known how many Process Scheduler domains are affected, do this for all Process Scheduler domains for the affected DBMS instance.

4. Bring affected Process Scheduler server domains back up.

5. Resubmit affected JobSets, PSJOBs, Processes or recurrences.

If above steps do not work in some cases (would be specific to PSJOBS, Jobsets, recurrences mostly), alternative steps would be:
1. Recreate and submit new PSJOB, Jobset or recurrence where applicable.

Symptoms
--------------
Even if a JobSet was set up to run with a Recurrence Definition that specifies that the next recurrence is scheduled when the prior recurrence has completed, the Process Scheduler is ignoring this setting.
JobSet is being rescheduled when prior runs are still processing.

Solution
-----------
This is a known issue reported with Development team and a fix has been included in PeopleTools 8.50.
Incindent ID: 1682635000

Workaround
------------------
1. Run as a job not using Jobsets.

2. If JobSet is required place processes in separate jobs.

If you schedule the job to run outside of a JobSet as the PSJob it will halt the recurrence successfully as expected.
However, this is not a viable workaround if you need to utilize the functionality of scheduled JobSets that cannot be done in a PSJob (for instance; multiple run controls, parms, separate schedulers, etc.)

3. Test setting the Max Concurrent value of the PSJob to one in order to try and avoid the PSJob overlapping with another one.

It was discovered that by selecting the checkbox for "Do not schedule any processes missed from the recurrence pattern" in the Recurrence Definition, the behavior no longer occurs.

Symptoms
--------
There are 2 Process Schedulers configured.
One on Windows (PSNT) and one on Unix (PSUNX).
A PSJob containing an Application Engine and a Crystal (or any other process running ONLY on Windows) will remain in "Processing" status.

Solution
-----------
Master Scheduler should be enabled and System Load Balancing Option should be checked.
The Master scheduler will be responsible for assigning processes to the appropriate scheduler.
Configure one of the Process Schedulers (PSUNX) as Master Scheduler and perform the additional settings to redirect processes to the correct Process Scheduler.
Master Scheduler is an optional server that enables you to distribute workload across multiple Process Schedulers.
However, in the following condition, a Master Scheduler is required:
Condition:
Primary Operating System is UNIX or OS390.
Reason:
When a PSJob is scheduled through the Process Request page and no specific server is specified, the system assigns the PSJob to the primary operating system.
When a PSJob item must run exclusively from Windows NT/2000 (for example, Crystal, PS/nVision, or Cube Builder), Master Scheduler Server is required to redirect the PSJob item to PeopleSoft Process Scheduler on Windows NT/2000.
Based on System Load Balancing Option setting the master scheduler will assign a request submitted without a server name (server name left BLANK).
This setting is extremely important and should not be left BLANK.
If left unset and the master scheduler is configured, processes with a blank server name will remain "Queued".
One of the common issue faced is process requests staying in a "Queued" state instead of processing as expected.
This can be generated due to Master Scheduler configuration requirements for the System Load Balancing option.
At this point in time, this option comes with a BLANK setting by default.
If a customer decides to boot the Master Scheduler service, leaving the default BLANK option for "System Load Balancing", the Master Scheduler will do NO load balancing and will assign no requests that were submitted for load balancing to any of the available Process Scheduler servers.

Recommendation
------------------------
Configure the System Load Balancing Option setting. 


As currently delivered (BLANK), processes submitted with no server name will remain in a "Queued" state and be ignored by the Master Scheduler.
A good setting for this is "Assign to Server In Any Operating System", which allows the Master Scheduler to redistribute the workload to an available Process Scheduler server that is defined to accept the same type of Process request. 


In order to have the Master Scheduler assign to BOTH PSUNX and PSNT and load balance effectively you must configure your System Settings "System Load Balancing Option" to "Assign to server in ANY OS". 


This is the instruction for the Master Scheduler telling it how to assign requests submitted with NO server name as well as which operating systems it can assign to.
The Master Scheduler will tend to assign mostly to the "Primary OS" as designed.
The process scheduler server definitions must also be defined to be "used for load balancing" to allow the master to assign them work submitted with no server name.
Any changes to the system or server definitions will require a reboot of all process schedulers.

FAQ

1. What are the Schedule JobSet Tables?
2. How to delete Scheduled JobSets?
3. How to reactivate a JobSet after using "Run Now" button?
4. How to cancel a run away child process within a Schedule Jobset?
5. How to Delete a PSJob from Process Monitor?

Main:

PS_SCHDLITEM
PS_SCHDLDEFN

Others:

PS_SCHDLNOTIFY
PS_SCHDLNODEPARM
PS_SCHDLMESSAGE
PS_SCHDLDEFNINFO
PS_SCHDLTEXT
PS_SCHDLRPTDIST
PS_SCHDLDEFNLANG

There is no delivered option for deleting Scheduled JobSets.

Tables that hold Scheduled JobSets would need to be identified and the redundant entries deleted from the back end.

To get the complete list of tables per PeopleTools release, either look at point #1 above, or the database dictionary for PS_SCHDL% can be queried.
For eg:
select * from sysobjects where name like 'PS_SCHDL%'
in SQL Server.

Note:
Process Scheduler should be brought down first prior to deleting any definitions.

The best way to get the complete list of tables as this may vary from one PeopleTools version to another, would be to trace a schedule job set by creating one and analyze the trace.

There usually is more than a few tables that need to be affected.

If the "Run Now" button is used:
- the status should be cycled from "Completed" to "Inactive",
- the Recurrence reset,
- and the time corrected in the Recurrence and in the JobSet to the time when the process should next run.

Then change the status to "Active".

The recurrence should remain and the JobSet remains Active after each run.

There are two ways to do this.

1. The following will stop the ScheduleName which contains the child process you wish to terminate from the database directly.
This would have to be done from your SQL tool.

DELETE FROM PS_SCHDLDEFNINFO WHERE SCHEDULENAME='{ScheduleName}'

2. The other way is through Process Monitor.
Navigation:
PeopleTools > Process Scheduler > Process Monitor.

2.1. Identify the Process Name of the PSJob which is attached to your Schedule JobSet.
2.2. Hit the "Process Name" link.
2.3. Hit the child "Process Name" link.
2.4. Select the "Cancel Request" Radio Button.

Jobs that are running in "Processing"/"Queued" status should be "Cancelled" before deleting them.
If they are in "Success" or "No success" those can be deleted directly.

To delete "Processing"/"Queued" PSJobs from Process Monitor :
1. Cancel the PSJob from the details pane.
2. Back in Process Monitor refresh until you see "Cancelled" in " run status".
3. Select "Cancelled" from the (run status) drop down and refresh.
4. "Delete" request button should appear on the Process Monitor page.
5. Select the "Cancelled" PSJob and hit "Delete".
6. Refreshing the page should remove the PSJob.

To delete "Success"/"No success" PSJobs from Process Monitor :
1. Select "Success"/"No success" from the (run status) drop down and refresh.
2. "Delete" request button should appear on the Process Monitor page.
3. Select the PSJob and hit "Delete".
4. Refreshing the page should remove the PSJob.

Reference

PeopleTools 8.4x PeopleBook: PeopleSoft Process Scheduler > Managing PeopleSoft Master Scheduler Servers

KEYWORDS:

PROCESS SCHEDULER, SCHEDULER, PSJOB, JOBSET, SCHEDULE, SCHEDULED JOBSET

 

Actions

 

Contacts

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Details
Actions
Contacts
References

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.