Apex offers multiple
ways for running your Apex code
asynchronously. Choose the asynchronous Apex feature that best suits your
needs.
This table lists the asynchronous Apex features and when to use
each.
Future Methods |
- When you have a long-running method and need to prevent delaying an Apex transaction
- When you make callouts to external Web services
- To segregate DML operations and bypass the mixed save DML error
|
Queueable Apex |
- To start a long-running operation and get an ID for it
- To pass complex types to a job
- To chain jobs
|
Batch Apex |
- For long-running jobs with large data volumes that need to be performed in batches, such
as database maintenance jobs
- For jobs that need larger query results than regular transactions allow
|
Scheduled Apex |
- To schedule an Apex
class to run on a specific schedule
|