Blog

Extending a ColdBox App's Lock Timeouts

Luis Majano March 12, 2009

Spread the word

Luis Majano

March 12, 2009

Spread the word


Share your thoughts

By default, any ColdBox app has a lock timeout of 30 seconds for their requests.  If longer running processes occur in which they do not give the lock away (for whatever reason it is) there could be a chance of the request to timeout and throw and error.  Therefore, you might be interested in maybe increasing it on high availability applications in order to allow longer running processes to finish.  In order to tweak this setting, you should open your Application's Application.cfc file.
* This only works on Application.cfc's that use inheritance. Non-inheritance Application.cfc will have to wait for ColdBox 3.0 or manually change this in the main coldbox.cfc
Once inside the file, locate the following: And add the following snippet: That's it! You use the setTimeout() method and pass in an integer that denotes the number of seconds to wait for a lock. Now, most of the time, if you have processes taking longer than 30-45 seconds, that to me is a red-flag going up. You should seriously revise your code and processes of why you want processes running for so long.

Add Your Comment

(3)

Mar 13, 2009 20:28:03 UTC

by Gabriel

One may not want processes running for too long on public facing sites. However, if you have private management type pages that may run for a long time but they work well otherwise, what's your recommendation for including those in an application? I tested a long running page and it caused a timeout error on the public facing part of the site. Is the only option to move those long running pages into their own "app" so that it doesn't interfere with the public side? Thank you, Gabriel

Mar 14, 2009 08:26:25 UTC

by Gabriel

So, I looked into the framework code and found that my timeout error was occurring because, in a development environment, I am "auto reloading" everything with each request. So the long running request caused the public side request to fail because it couldn't get a lock in the "AutoReload Tests" of coldbox.cfc. That said, I changed to a "production" environment (doesn't reload everything on every request) and the long running request did not bring down the public facing side. I think I should be ok leaving these long running pages as part of the same app as the issue does not happen with real production settings. If you'd advise otherwise, please let me know.

Mar 16, 2009 12:56:05 UTC

by Luis Majano

Yes, auto reload puts a lot of stress on the application because every request has to do exclusive locking just to make sure the app get's reloaded. Definitely use it for development only if possible. Lock timeouts and request timeouts are two different settings.

Recent Entries

BoxLang v1.8.0 : Revolutionary HTTP Client, SOAP Integration, and Production-Grade Stability

BoxLang v1.8.0 : Revolutionary HTTP Client, SOAP Integration, and Production-Grade Stability

The BoxLang team is excited to announce BoxLang 1.8.0, a massive release that revolutionizes HTTP capabilities, introduces comprehensive SOAP/WSDL integration, and delivers over 100 critical bug fixes for production-grade stability. This release focuses on modern web application development with fluent APIs, streaming support, persistent connection management, and extensive CFML compatibility improvements.

Luis Majano
Luis Majano
December 05, 2025
Ortus & BoxLang November Recap 2025

Ortus & BoxLang November Recap 2025

November 2025 was a big month at Ortus. BoxLang 1.7.0 arrived with real-time streaming, distributed caching, and faster compiler internals. ColdBox gained a cleaner debugging experience with full Whoops support, while CBWIRE 5 launched with stronger security, smarter lifecycles, and easier uploads.

Victor Campos
Victor Campos
December 02, 2025