Choosing Between @future and Queueable Apex for Asynchronous Work
Decide when to use Salesforce @future methods versus Queueable Apex based on parameter types, job chaining, and monitoring needs.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Decide when to use Salesforce @future methods versus Queueable Apex based on parameter types, job chaining, and monitoring needs.
Enqueue asynchronous Apex jobs that accept sObjects and chain follow-up work, then monitor results in AsyncApexJob.
Learn how to move heavy trigger work into an Apex Queueable job to stay within synchronous governor limits while reliably updating related records.
When an async Apex job fails, the caller often needs a reliable way to react. Salesforce's Transaction Finalizer attaches a post-execution handler to a Queueable job. This note covers requirements, minimal design, trust boundaries, operational checks, failure modes, and redesign triggers.
If you’ve hit the @future limits or need to pass complex data, Apex Queueable offers a supported, flexible alternative. This post walks through why, how, and when to use Queueable jobs, with a concrete example and trade‑offs.
Salesforce developers often transition from @future methods to the Queueable interface to leverage job chaining and the ability to pass complex data types, such as custom Apex objects or collections, which are not supported by future methods. While Queueable provides higher flexibility, the non-deterministic execution order of asynchronous jobs introduces un
Scenario We deploy Apex changes to a production org (API v59.0 assumed) that runs Queueable and future jobs around the clock. The Deployment Status page separates Component Failures from Test Failures, but it is unclear how it reports interference from asynchronous jobs that are already queued or executing while the deployment's test run starts. Uncertainty
When a Queueable class implements the Finalizer interface, the finalize method runs after the Queueable job completes and can enqueue additional Queueable jobs. It is not documented whether these enqueues are subject to the same per‑transaction limit that applies to Queueable jobs added directly from synchronous code or from the Queueable execute method. Und