-
Notifications
You must be signed in to change notification settings - Fork 517
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 successesList<Id>
private failuresList<Id>
private final queryStringString
TESTVISIBLE
private static resultString
TESTVISIBLE
private throwErrorBoolean
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());