The Scheduler is a background server that schedules and launches jobs, both at the site and store levels. From the Configuration menu of the Administration Console, the scheduler allows Site Administrators to schedule and configure jobs.

The scheduler polls the SCHACTIVE table to find jobs scheduled to run. The following list describes the possible entries for the STATE column:

Indicates that the job is waiting for execution, if necessary.
Indicates that the job is currently inactive.
Indicates that the job has run and failed. The instance will rerun the job.

For each entry where the state is W and the preferred start time is less than or equal to the current time, the scheduler gets the job's configuration information from the SCHCONFIG table. If the INTERFACENAME field is defined, the scheduler gets the implementation of the business logic task command and if that implementation uses the business logic interface, the scheduler runs the business logic task command. If no exceptions are thrown, the state is changed to I.

When the scheduler finds entries in the SCHACTIVE table where the state is I or IF and the preferred start time is equal to or less than the current time, it executes the job.

The scheduler is scalable across one or more threads, running on one or more machines. Multiple commerce servers or clones can connect to the same database. When a job is added to the SCHCONFIG table, the job can be scheduled to run on any of the WebSphere Commerce Servers or clones.

Important: The Scheduler is designed for batch processing, such as nightly maintenance jobs or other background jobs for bulk order processing. It is not recommended to schedule a large number of jobs for high-volume short transactions, such as inventory checks or updates for individual orders or order item. That is, there are overhead factors to consider when scheduling and dispatching a large number of scheduler jobs in the queue.