tracker issue : CF-4204978

select a category, or use search below
(searches all categories and all time range)
Title:

please expose means to raise limit of max simultaneous sched tasks value (and timeout) in CF Admin

| View in Tracker

Status/Resolution/Reason: Open//

Reporter/Name(from Bugbase): Charlie A. / ()

Created: 08/07/2019

Components: Scheduler

Versions: 2018

Failure Type:

Found In Build/Fixed In Build: /

Priority/Frequency: Normal /

Locale/System: / Windows 10

Vote Count: 1

Please expose in the CF Admin the fact that there is in CF a limit of a) how many sched tasks can run at once and b) how long CF will wait before killing/misfiring tasks in that situation.

I would recommend these be added to the "request tuning" page, as something like "max simultaneous scheduled tasks", and an associated "wait duration". (I'd be reluctant to call it a timeout, as some would read that as being a timeout of how long tasks CAN TAKE TO RUN, which this is not.)

And also please add a better indication in the logs of when this limit and timeout is reached. See below for more.

Detail:

Even if some CF folks may know that Quartz is the Java library that underlies CF Scheduled tasks (since CF10), most will not realize that quartz imposes a limit of how many tasks can run at once (org.quartz.threadPool.threadCount, defailting to 10) and how long it's willing to wait for a task to run once that limit is reached, before it will declare it a misfired task (org.quartz.jobStore.misfireThreshold, defaulting to 60 secs).

And while each of these can be tweaked in the D:\ColdFusion2018\cfusion\lib\quartz\quartz.properties file (of your instance name, instead of cfusion, if running multiple instances), the average user would never know that or reasonably find it.

I helped someone discover that this was the reason why they sometimes had scheduled tasks not running at some times, and there was only the briefest indication of it misfiring (in the CF scheduler.log), not with any reason why.

As such, it would also be helpful if the error message (for such a misfire) were to report also that the reason was for hitting this limit.

Finally, as for the properties file, I notice that there is also a quartz_cluster.properties, with its own values for these settings. If the way it works is that clustered tasks (if enabled) do have these separate limits, then these two settings for that should ALSO be exposed in the Admin.

BTW, while you COULD put these exposed settings at the bottom of the CF Admin Scheduled Tasks page, I would argue that that's NOT where people would expect them. Also, for those with more than a couple dozen scheduled tasks, they'd never even notice if these settings were at the bottom (like the clustered sched tasks feature is).

Maybe it's time to have a separate "scheduled task settings" page, and you could put there these timeouts, AND the clustered task setup feature, AND the "log scheduled tasks" feature, which is currently on the "logging settings" page. Note that things like the "log sent mail" are NOT on THAT page but instead are on the cfmail page. So there is precedent to move that "log sched tasks" setting to a page devoted to sched task settings.

Attachments:

Comments:

Having experienced this first hand it's not a simple problem to track down and there is really no simple track to identify this problem as logging was minimal at best. Adding the settings in either the Admin area or the possibly new Scheduled Tasks settings page would help tremendously, by also allowing a location to turn on or off better logging around scheduled tasks.
Vote by Tony M.
31113 | August 08, 2019 01:27:55 PM GMT