Async Programming & Scheduling

In this session, we will explore the concepts of asynchronous and parallel programming with the ColdBox Async Manager and Java's Completable Futures APIs. We will explore the concept of async computations, async pipelines, exception handling, scheduling and so much more. Pain medication is not included.



  • CommandBox latest installed
  • Open JDK 11+ or Compatible
  • VSCode Editor (Preferred) with the Kamasamak CFML Extension installed
  • cfscript Knowledge
  • Been bitten or (want to avoid being bitten) by <cfthread>!


Schedule / Outline

  • Introduction to asynchronous programming
  • What are promises/futures
  • Native ways for asynchronous programming in CFML
  • Intro to ColdBox Futures
  • Executors
  • Magical Pipelines
  • Dealing with Exceptions
  • Parallel Tasks
  • Futures In a ColdBox App
  • Scheduled Tasks
  • Bonus Section


Who is the audience for the workshop?

Developers who are interested in learning about asynchronous, parallel programming and task scheduling. They must definitely have advanced experience in the CFML language.

If you have ever wished that using <cfthread> or runAsync() was easier or more flexible; if you have ever wanted to work with something like JavaScript Promises in CFML; if you have ever got a headache trying to debug asynchronous code; if you have ever wanted to squeeze ever ounce of performance out of your application…

Then this is the workshop for you.


Why should You take the workshop?

In this workshop, you will be introduced to the wonderful and complex world of concurrency. We will go over the basics of asynchronous/parallel programming and introduce the concepts of working with futures. We will also work on the concept of async processing pipelines, exception handling and debugging.

Scheduled tasks have always been a point of soreness for many developers in ANY language. Especially choosing where to place them for execution: should it be cron? windows task scheduler? ColdFusion engine? Jenkins, Gitlab? and the list goes on and on. The ColdBox Scheduled Tasks offers a fresh, programmatic, fluent, chainable, and human approach to scheduling tasks on your server and multi-server application. So if you are interested in making your scheduled tasks portable, testable, and sane, then this workshop is for you.