ColdBox 6.4.0 is more of a major than a minor release due to the amount of work we have done to bring you one of the most revolutionary features of this framework: Scheduled Tasks.
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 and human approach to scheduling tasks on your server and multi-server application. It allows you to define your tasks in a portable Scheduler we lovingly call the
Scheduler.cfc which not only can be used to define your tasks, but also monitor all of their life-cycles and metrics of tasks. Since ColdBox is also hierarchical, it allows for every single ColdBox Module to also define a
Scheduler and register their own tasks as well. This is a revolutionary approach to scheduling tasks in an HMVC application.
You can learn all about them in our two sections:
COLDBOX-991 Fixes issues with Adobe losing App Context in Scheduled Tasks. You can now run scheduled tasks in Adobe with full app support.
COLDBOX-988 When running scheduled tasks in ACF loading of contexts produce a null pointer exception
DataMarshaller no longer accepts 'row', 'column' or 'struct' as a valid argument.
COLDBOX-998 Convert util to script and optimize
COLDBOX-989 Add more debugging when exceptions occur when loading/unloading thread contexts
COLDBOX-971 Implement caching strategy for application helper lookups into the
default cache instead of the
SchedulerService that mointors and registers application scheduled tasks in an HMVC fashion
COLDBOX-997 Added out and error stream helpers to Scheduled Tasks for better debugging
newTask() method on scheduled executor to replace nameless
COLDBOX-995 New scheduler object to keep track and metrics of registered tasks
COLDBOX-994 New Scheduled Task with life-cycles and metrics
COLDBOX-993 New async.time package to deal with periods, durations, time offsets and so much more
COLDBOX-992 Added CFML Duration and Periods to async manager so task executions can be nicer and pin point accuracy
COLDBOX-990 Allow structs for query strings when doing relocations
COLDBOX-987 Encapsulate any type of exception in the REST Handler in a
onAnyOtherException() action which can also be overidden by concrete handlers
COLDBOX-986 Add registration and activation timestamps to the a module configuration object for active profiling.
renderLayout() to just
layout() and deprecate it for v7
renderView() to just
view() and deprecate it for v7
WIREBOX-112 virtual inheritance causes double
inits on objects that do not have a constructor and their parent does.
onDIComplete() is called twice using virtual inheritance
WIREBOX-113 new injection dsl: