By | 12 September 2012

Can I Guarantee a Process Will Run at a Certain Time?

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.

Scheduling a Process in PeopleSoft

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.

PeopleSoft Process Scheduler Server Definition

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