Can I Guarantee a Process Will Run at a Certain Time?
By Chris Malek | Wed, Sep 12, 2012
I had a client ask me recently about an Application Engine process they scheduled to run at 9 PM but it did not run until much later. The process needed to run at 9 PM to extract some data to a file and then another external process was going to pull the file from a certain directory around 9:30 PM. They were having some issues and the process was not running at 9 PM. This is a common confusion with the process scheduler run times. This post will clarify the PeopleSoft process scheduler Run Date and Run Time.
When you schedule a process in the PeopleSoft Process Scheduler you have the option of setting a recurrence or you can also set date and time when you want the process to run.
The important thing to note about the “Run Date” and “Run Time” field is they are actually a recommended time to run. There is no guarantee that your processes will actually start at this time. Why is this?
When you define a PeopleSoft Process scheduler server, there is some setup where you can define the number of concurrent processes to run.
In the screen-shot above, you can see that this process scheduler is setup to only run 3 concurrent application engine processes at a time. If three application engines (or whatever max you have set) are processing, all other application engines will stay queued until a slot opens up. In the evenings, it is common to have hundreds of processes that are scheduled to run. If you want a process to run at 9 PM, then there is no real guarantee that it will run at 9 PM. If another user started 3 different application engines at 8:45 PM and those processes take hours to run, then it will hold up all other application engine jobs including the one you want to run at 9 PM.
Can I get a guaranteed run time? Not really but here are some options.
- You can setup processes that need to run in a certain time with a
“high” priority on the process definition.
- This does not guarantee a run time but if two jobs are both
scheduled to start at 9PM and only one slot is available the one
with the highest priority should start first.
- This does not guarantee a run time but if two jobs are both scheduled to start at 9PM and only one slot is available the one with the highest priority should start first.
- You can setup separate process scheduler for time sensitive
processes like this and only schedule time senstive processes on it.
- This allows you to not have interference when regular user reports and processes that are run on an ad-hoc basis.