Monitor Background Jobs

You can monitor background jobs in Cornerstone Saba using the Service Management Framework (SMF). SMF is a message management framework that handles message-based processing using queues and topics-based processes that help to manage back-end jobs such as asynchronous jobs, periodic and triggered notification events, indexing, data import, and so on. The framework identifies the processor for a specific job type with sufficient bandwidth to complete the job successfully. SMF can retry jobs automatically in the event of failure and also park jobs in a backup queue when a process is not available immediately. All asynchronous jobs are processed through the SMF. 

SMF provides the following features:
  • SMF job processes are run in the background to achieve a specific action posted to the Message Queue/Topic based on the nature of the job type.
  • Provides the ability to broadcast queue-based processing using ActiveMQ Queue handling mechanism built in Java.
  • Enables duplicate message handling using the source object ID in a given job with the exception to email message processing.
  • Provides job dashboard and health monitoring pages for administrators.
  • Provides alert mechanism to System Admins, Support Admins, and so on.
Note: Most of the SMF actions are available to "admin" users. For more details, contact support.
System administrators can mainly monitor jobs for their site through the Job Dashboard. They can also create and view email alerts for the SMF jobs.
Note: The dates shown in the Monitor Background Jobs dashboard are stored in server time and formatted to show in the server time zone to trace back the logger information of the events that are processed in SMF for System Admin under System > Monitor Background Jobs > View the Job Dashboard.

How are jobs handled?

Jobs are handled in a First-In-First-Out (FIFO) manner. Each job enters in a queue into the job processor, the consumer receives the job and then processes it.

Depending on the nature of the job and varied other reasons, a job can remain in any of the following statuses:

Table 1. Job statuses
Job Status Description Action

Queued

Jobs can be stuck in a queue. This happens if a process is initiated by the application but there is not enough room to consume the process information and perform the necessary action, or if all consumers are busy with some other process.

If a job takes much longer time to move from 'Queued' to 'In-progress' status, then submit a request. For more details, contact support.

In-Progress

When a process is being picked up by the system to perform an action, the status of the job moves to 'In-progress'. In most of the cases, it does not take a long time to process. However, processes like prescriptive rules can take longer time to finish.

If a job stays in the 'In-progress' state for a long duration, then submit a request. For more details, contact support.

Check with support before deleting an 'In-progress' job.

Failed

The actual processing of the job depends on the nature of the action, and some jobs can fail. There can be many reasons for a job failure, including data issues, network issues, database connection problems, and so on. This information is captured and displayed in a dashboard for further action.

If the failure has anything to do with data or configuration, then you can find the same in the dashboard.

Based on the reason for failure, you can submit a request to resolve the job failure. For more details, contact support.

Once the issue is fixed, the job can be re-processed from the dashboard.

Cancelled

A job can be cancelled in the following ways:
  • Manually - Cancelling a job manually by the Cornerstone Saba "admin" user (only while debugging)
  • Auto-cancel - A job is cancelled automatically due to long-running queues causing performance issues.

These are rare cases, which can happen due to system failure or if the support team is investigating some long-running process.

No action is required.

Waiting for Index

When there is a search indexing job being processed for a particular site, and if a new job of the same type of index generation arrives, then it is put in the waiting state and will be picked up once the previous job is completed.

No action is required.

Initiated

Data Imports are run in sequence to load the dependent objects in the right order and avoid any data corruption.

A data import job process can remain in the 'Initiated' state for a long time because:
  • Another import process is already running and taking a long time
  • The JET server is down for some reason
  • Other processes are occupying the available queue
  • For periodic events, the end time is set beyond the year 2050
  • Environment issues

If a job stays in the 'Initiated' state for a long duration, then submit a request. For more details, contact support.

Check with support before deleting an 'Initiated' job.