バッチ クラス インスタンスを呼び出しており、バッチの完了後、別の 2 つのバッチ クラス インスタンスを呼び出しています。最初のバッチ クラスの finish() メソッドは次のとおりです。
public void finish(Database.BatchableContext BC)
{
List<Event__c> events = [SELECT Id FROM Event__c];
delete events;
System.debug('Executing finish');
for (CalendarSettings__c c: [SELECT Id, Name, CalendarId__c,
CalendarQuery__c, FieldToDisplay__c
FROM CalendarSettings__c])
{
System.debug('Calendar Id is' + c.CalendarId__c);
BatchPublicCampaignsToGoogle bjob = new BatchPublicCampaignsToGoogle(
c.CalendarQuery__c, c.CalendarId__c, c.FieldToDisplay__c);
Database.executeBatch(bjob,9);
}
}
私が直面している問題は、Batch クラスBatchPublicCampaignsToGoogle
が 2 回呼び出されることを期待していますが、1 回しか呼び出されないことです。ループは 2 回実行されています (デバッグ ログを分析しました)。なぜ一度だけ呼び出されるのですか?