Monitoring Batch Apex
Once we have submitted a Batch Apex job for processing, we want to be able to monitor its execution to see how it is performing. Whenever we make a call to Database.executeBatch
, we are returning an Id
for our AsyncApexJob sObject
, which we can use to retrieve the status of the batch job through a query, as shown in the following snippet. This can be executed in the Execute Anonymous window:
Id batchJobId = Database.executeBatch(new ExampleBatch()); AsyncApexJob apexJob = [SELECT Id, Status, JobItemsProcessed, TotalJobItems, NumberOfErrors FROM AsyncApexJob WHERE Id = :batchJobId]; System.debug('Job has status of ' + apexJob.Status + ' and has processed ' + apexJob.JobItemsProcessed + '/' + apexJob. TotalJobItems + ' with ' + apexJob.NumberOfErrors + ' errors.');
We can also monitor the batch jobs we have submitted in the...