is used to define and run ColdFusion scheduled tasks. For some reason the tag does not return a list of defined tasks, and a user on cf-talk asked for this functionality recently. So, until we update , here is a UDF that returns a query containing the details about all scheduled tasks.
The bulk of this code (the regular expressions, funky nested looping, and so on) are the work of Michael Dinowitz (and I have retained his warnings about not doing what he is about to do).



















































14 thoughts

  1. ColdFusion has 4 RegEx functions. 2 for find (REFind/REFindNoCase) and 2 for replace (REReplace/REReplaceNoCase). Most of the RegEx syntax are allowed within these functions and this is what was used in the example. Negative lookaheads are possible and were the original thought until a larger pattern was found and simpler code was written.
    If you need more RegEx power for things like positive and negative look-behinds, you can always leverage the power of the Java RegEx engine directly using CFOBJECT or CreateObject().

  2. The above UDF work for me on CF 7.0.1
    But I use this undocumented feature to get me the array of all defined scheduled task (without too much regex stuff )
    <cfscript>
    alltask=ArrayNew(1);
    taskService=createobject(‘java’,’coldfusion.server.ServiceFactory’).getCronService();
    alltask=taskservice.listall();
    </cfscript>
    <cfdump var="#alltask#">

  3. Ben/Michael/Rahul –
    That’s a cool ‘features’ of servicefactory. Can one get that kind of information for ALL of cfquery(s), just like one sees in debug mode for a template. I need all of the queries/sql without giving the list of cfquery names. I’ve seen 1 hardcoded sql via servicefactory,but not all of the cfquery sq for a template. I need the sql,recordcount and time.

  4. I found that in CF9 I needed to not only add paused (as Don mentioned) but also last_run and end_time. (We’re talking about just adding them to the end of the querynew function on line 7.)

Leave a Reply