Batch Processing

Apex Queueable Apex

Using Queueable Apex

Apex Queueable Apex runs asynchronous jobs with chaining.

Introduction to Queueable Apex

Queueable Apex in Salesforce is a powerful tool that allows developers to run asynchronous jobs. It provides a more flexible way to work with asynchronous processes compared to future methods. One of the main advantages of Queueable Apex is that it supports job chaining, which enables you to queue another job from within an executing job.

Why Use Queueable Apex?

Queueable Apex is preferred over future methods for several reasons:

  • Chaining Jobs: You can chain jobs, which means you can start a new job from within an existing one.
  • More Complex Objects: Queueable Apex supports non-primitive types, unlike future methods.
  • Monitoring: It provides better monitoring and debugging capabilities via the Salesforce UI.

Implementing a Queueable Apex Class

To implement a Queueable Apex class, your class must implement the Queueable interface and define the execute method. Here's a simple example:

Enqueueing a Queueable Job

Once you have defined your Queueable class, you can enqueue it using the System.enqueueJob method:

Chaining Queueable Jobs

Chaining allows you to queue another job from within the execute method of a Queueable class. This is useful for orchestrating complex operations that need to be broken down into smaller tasks:

Monitoring Queueable Jobs

Salesforce provides tools to monitor your Queueable jobs. You can view the status of your jobs in the Apex Jobs page in Salesforce Setup. This page allows you to see whether your job has completed successfully, is still running, or has failed.

Previous
Batch Apex