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. Hi,
    for some reason the UDF gives an empty result set on CFMX 6.1.
    But the CF-Administrator shows my scheduled tasks.
    Does it only work on CFMX 7 ?
    Kind regards
    Thorsten

  2. 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().

  3. 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#">

  4. 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.

  5. 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