ColdFusion gives you three tiers of background processing, and choosing the wrong one is the most common cause of production pain. spawns a thread to run code in parallel with (or after) the request — perfect for fire-and-forget work inside a single request (send an email, warm a cache), but it's tied to your ColdFusion server's thread pool, dies if the server restarts, and offers no retry, persistence, or cross-node coordination. runAsync() (ColdFusion 2018+) is a genuine step up — CFML Futures backed by a configurable executor pool, with chaining and error handling — better for parallel work you need results from. Scheduled tasks handle recurring work (nightly reports, cleanup), but they're HTTP-request-driven and, critically, run on every node in a cluster unless you guard them. Message queues (AWS SQS via ColdFusion's native getCloudService, or Redis-backed queues) are the only option that gives you durability, retries, and horizontal scale — the right answer for anything that must not be lost. The rule of thumb: cfthread for cheap fire-and-forget within a request; runAsync for parallel work you need to join; scheduled tasks for recurring jobs; a real queue for anything business-critical. This guide covers all four with verified CFML.
Read More
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)