監視を行うには
- 設定 → Apexジョブ
ApexSyncJob
の照会
SOQL
AsyncApexJob jobInfo = [SELECT Status, NumberOfErrors FROM AsyncApexJob WHERE Id = :jobID];
スケジュール済みジョブの監視
- SOQL
CronTrigger ct = [SELECT TimesTriggered, NextFireTime FROM CronTrigger WHERE Id = :jobID];
global class DoAwesomeStuff implements Schedulable { global void execute(SchedulableContext sc) { // some awesome code CronTrigger ct = [SELECT TimesTriggered, NextFireTime FROM CronTrigger WHERE Id = :sc.getTriggerId()]; } }
CronTrigger
レコードに関連付けられているCronJobDetail
レコードからジョブの名前と種別を取得する
CronTrigger job = [SELECT Id, CronJobDetail.Id, CronJobDetail.Name, CronJobDetail.JobType FROM CronTrigger ORDER BY CreatedDate DESC LIMIT 1];
CronJobDetail
を直接照会して、ジョブの名前と種別を取得する
CronJobDetail ctd = [SELECT Id, Name, JobType FROM CronJobDetail WHERE Id = :job.CronJobDetail.Id];
- すべての Apex スケジュール済みジョブの合計件数を取得する (他の種別のすべてのスケジュール済みジョブを除く)
SELECT COUNT() FROM CronTrigger WHERE CronJobDetail.JobType = '7’