Getting notified when something goes wrong with a scheduled job
|Knowledge Article Number||000232862|
|Description||We have multiple Apex jobs running, both from Schedulable and Batchable code. While an attentive could be to examine the Apex Jobs list to check that everything is OK, it seems a better idea to have explicit notification of errors (and more detailed error information).|
You can create custom object to store error information whenever the job throws error and set up workflow rule on this object to send email alerts if there is an error.
So in apex class that you schedule, create a new Error Log object in catch statements to record specific error information when the job fails.
Then you can set up a workflow on the error log object to send email whenever a new error log is created. As you can see you can add different information based on what class you are using it in, its fairly flexible.
The one drawback would be that you are using a custom object for this and storing the error data, so you might want to monitor this object and periodically delete old error logs. You can have a batch class that runs monthly and deletes anything over 30 days old.
The advantage to this method is you only get alerted when there are issues. If you have a lot of scheduled classes, you can also send an email on the job completion, but with so many classes, some running every night, you don't really need to get an email just to tell you it worked fine. This will only email you when something goes wrong.