Mar 6, 2012

ColdFusion 10: Disabling request timeout

A very quick post on disabling timeout for the requests. You can now set the requesttimeout to zero in cfsetting tag i.e.

<cfsetting requesttimeout=0>

This setting is particularly useful if the server is executing a task which might take longer than the usual or the response time is not known in advance.

<cfsetting requesttimeout="0"> <cfset count = 0> <cfloop condition="true"> <cfthread action="sleep" duration="1000" /> <cfoutput>#++count#</cfoutput> <cfflush> </cfloop>

The above code would run indefinitely and the request timed out page will not be shown.

11 comments:

  1. We were settings as something like 99999999. So why did you created this one? Who may need an endless wait? :)

    ReplyDelete
  2. Nice addition. Is there a script version as well?

    ReplyDelete
  3. Oh yes!! In cfscript you can have 'setting requestimeout=0'

    ReplyDelete
  4. setting requesttimeout to a very high value is a hack and not a clean way to disable the timeout. Some applications may need endless wait. Say your application is reading Twitter stream at regular intervals and flushes out any available data to the client.

    ReplyDelete
  5. Awesome. Is that true for all setting attributes?

    ReplyDelete
  6. In cf9, requesttimeout is not respected on a processing page containing cfthread.  Did they fix this on cf10?

    ReplyDelete
  7. Yes. setting enablecfoutputonly="true" requesttimeout="0" showdebugoutput="yes"; is supported.

    ReplyDelete
  8. @fbe7db54a197599b3d10d647b7b26a06 if you see the example provided in the post, I'm using cfthread with action ="sleep". 

    ReplyDelete
  9. Small addition: you should write requesttimeout instead of requestimeout.

    ReplyDelete
  10. This will not work in Railo though.

    ReplyDelete
  11. The title of the post clearly says 'ColdFusion 10' :)

    ReplyDelete