Take the community feedback survey now.

Per Nergård (MVP)
Dec 5, 2012
  3400
(1 votes)

Monitoring status of scheduled jobs

Scheduled jobs are a convenient way of performing different tasks in an automated way.
Since it's common that jobs performs something with pages it's not uncommon that something changes so the job will break.

A website admin should check the status of the active jobs on a regular basis, but my experience is that's not very common.

So finding out about a failed job usually take unnecessary long time.
I decided that I wanted to do something about it so I created a scheduled job that will perform a check on all active jobs and report back which ones have failed.

Ok it will not find out if someone disables a job or disables the actual scheduler service but it’s good enough for me.

The monitoring job sends out an status email.

The email recipients are specified on a string property on the start page. Several addresses can be separated with comma signs.


Three different mails are sent out.


1. Failed jobs found
The mail contains a descriptive text and a table with two columns: name of the failed job and the error message.
2. No failed jobs found
The mail contains a descriptive text that everything seems fine.
3 The monitoring job it selves crashes for some reason
Basically the same as .1. The descriptive text says that the job monitoring the others has failed and someone needs to have a look.

The job is built for CMS6 and is easy to get to work for CMS5 and I don’t now but my guess is that it will work for CMS7 with no changes.

You can get the source code over at the code section.

Happy monitoring!

Dec 05, 2012

Comments

Isabella Gross Alström
Isabella Gross Alström Oct 14, 2020 01:17 PM

This is exactly what I am looking for - but the code section link is no longer working :( Do you have this code still somewhere?

Please login to comment.
Latest blogs
Content modeling for beginners

  Introduction Learning by Doing – Optimizely Build Series  is a YouTube series where I am building  a fictional  website called  TasteTrail , food...

Ratish | Sep 14, 2025 |

A day in the life of an Optimizely OMVP - Enhancing Search Relevance with Optimizely Graph: Synonyms and Pinned Results

When building search experiences for modern digital platforms, relevance is everything. Users expect search to understand their intent, even when...

Graham Carr | Sep 14, 2025

Optimizely CMS and HTML validation message: Trailing slash on void elements has no effect and interacts badly with unquoted attribute values.

When using the W3C Markup Validation Service, some annoying information messages pop up because Optimizely CMS adds the trailing slash to...

Tomas Hensrud Gulla | Sep 14, 2025 |

Turbocharge your strings - a case of display channels

When doing a routine performance test, during a CMS 12 upgrade, I was able to achieve 95% performance improvement. Let's look at SearchValues with ...

Stefan Holm Olsen | Sep 14, 2025 |

Opal Core Concepts

Before you dive into the code, it's crucial to understand the foundational ideas that make Opal tick. Core concepts are consistent across all its...

K Khan | Sep 13, 2025

Optimizely Opal : Reimagining A Utility Sector Use Case

  Introduction Customer engagement through timely and personalized push notifications plays a crucial role in todays Digital First landscape. In th...

Ratish | Sep 12, 2025 |