-
Notifications
You must be signed in to change notification settings - Fork 464
BatchApexRecipes
Demonstrates the use of the Database.Batchable interface. The
methods in this class are called by the system as the batch executes.
To execute this batch use Database.executeBatch(new BatchApexRecipes());
More on the Batchable interface: https://sfdc.co/batch_interface
Group Async Apex Recipes
Implements
Database.Batchable<SObject>, Database.Stateful
private successes
List<Id>
private failures
List<Id>
private final queryString
String
TESTVISIBLE
private static result
String
TESTVISIBLE
private throwError
Boolean
This method is required by the Batchable interface. It's responsible for identifying the records that will be affected Your start method can either return a QueryLocator or an Iterable (List) The records identified here will be made available to the execute method below, in batches of up to 200 records at a time.
public Database.QueryLocator start(Database.BatchableContext context)
Name | Type | Description |
---|---|---|
context | Database.BatchableContext | dependency injected by the system |
Database.QueryLocator
QueryLocator object used for context
Database.executeBatch(new BatchApexRecipes());
This method is where the actual work occurs. It's run once per batch.
public void execute(Database.BatchableContext context, List<Account> scope)
Name | Type | Description |
---|---|---|
context | Database.BatchableContext | dependency injected by the system in this batch. It's this |
mechanism of breaking a large number of records into smaller batches | ||
called scope (in this example) that make this easier. | ||
scope | List<Account> | a list of up to 200 SObject records to be processed |
void
Database.executeBatch(new BatchApexRecipes());
This method is called by the system when all the individual batches have completed. Intrepid developers may send emails, or otherwise notify others of the job's completion here.
public void finish(Database.BatchableContext context)
Name | Type | Description |
---|---|---|
context | Database.BatchableContext | dependency injected by the system |
void
Database.executeBatch(new BatchApexRecipes());