tracker issue : CF-4203044

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

Un-Deprecate Timeout

| View in Tracker

Status/Resolution/Reason: To Fix//Investigate

Reporter/Name(from Bugbase): Daniel Budde / ()

Created: 06/29/2018

Components: Scheduler

Versions: 11.0

Failure Type: Others

Found In Build/Fixed In Build: /

Priority/Frequency: Normal /

Locale/System: / Win 2012 Server x64

Vote Count: 6

As of ColdFusion 11 the <cfschedule requestTimeout="120" /> has been deprecated, which is Adobe's way of telling us that we should no longer use it.  The purpose of this feature was to increase the timeout on the page being called, BUT it also set the timeout on the underlying <cfhttp> call used inside of the scheduler.  If the 'requestTimeout' is deprecated, we no longer have a way to increase the timeout on the <cfhttp> call and this cause errors to appear in the CF exception log.

I am requesting one of two outcomes:

1) Give us a new attribute (such as 'timeout') in the <cfschedule> tag that will set the underlying <cfhttp> timeout.
2) Un-deprecate the 'requestTimeout'.

Attachments:

Comments:

This is kind of a silly thing to even have to discuss... I'm curious as to why this was deprecated in the first place. Either way, it really does need fixed.
Vote by Jared R.
29146 | June 29, 2018 05:10:42 PM GMT
Alternative option 3: Make cfsetting's request timeout machinery actually support the scheduled task subsystem as was the intent when the requestTimeout attribute and URL var were deprecated in the first place.
Comment by Jared R.
29144 | June 29, 2018 05:12:17 PM GMT
I personally prefer option 1 as it matches the name of the setting in CF Admin when setting up scheduled tasks that way - and it really isn't a "request" setting.
Comment by Carl V.
29145 | June 29, 2018 05:25:02 PM GMT
Hi Adobe, 2018.0.0.310608 repro: index.cfm ----------- <cfscript> if(SERVER.keyExists("foo")) { writeOutput(SERVER.foo) } startDateTime = now().add('s', 5) targetURL = 'http://' & CGI.HTTP_HOST & CGI.PATH_INFO & getDirectoryFromPath(CGI.SCRIPT_NAME) & 'mypage.cfm' cfschedule(action="update", task="myTask", url=targetURL, startdate=startDateTime.format('mm/dd/yy'), starttime=startDateTime.format('hh:nn:ss tt'), interval="once", group="default", mode="server") </cfscript> ----------- mypage.cfm: ----------- <cfscript> cfsetting(requestTimeout=80) sleep(70000) SERVER.foo = now() </cfscript> ----------- Steps: 1) Run index.cfm 2) After 70 seconds, see exception.log message "The request has exceeded the allowable time limit Tag: cfhttp " (bad) 3) Run index.cfm again and see a timestamp (good) I think cfhttp/AdminAPI need a 'timeout' attribute b/c they wouldn't know the target URL's timeout. Note: Pre-Aether's CF Admin Scheduler detail page had a "Timeout (in seconds)" setting, but that was removed in Aether's CF Admin. (needs restored as part of this ticket's fix) Thanks!, -Aaron
Comment by Aaron N.
29159 | July 05, 2018 07:31:14 AM GMT
+1 for adding cfschedule/AdminAPI 'timeout' attribute and restoring CF Admin's "Timeout (in seconds)" setting.
Vote by Aaron N.
29161 | July 05, 2018 07:32:42 AM GMT
And if both are specified: cfschedule(requestTimeout=x, timeout=y, ..), then the "requestTimeout" should be ignored and only "timeout" honored.
Comment by Aaron N.
29160 | July 05, 2018 07:39:55 AM GMT
Adding a 'timeout' attribute would be my preference as well, since the 'requestTimeout' by name is already assumed to affect the request timeout of the page being processed and does not necessarily indicate altering the timeout of the scheduler's http client. I think adding a 'timeout' is more clear as to what is expected.
Comment by Daniel B.
29248 | July 05, 2018 01:02:16 PM GMT