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

ColdBox 7.2.0 Released

ColdBox 7.2.0 Released

ColdBox, a widely used development platform for ColdFusion (CFML), has unveiled version 7.2. Packed with compelling new features, bug fixes, and enhancements, this release is designed to empower developers by boosting productivity, refining scheduled task capabilities, and enhancing the overall reliability and efficiency of application development. This article will delve into the key highlights of ColdBox 7.2 and elucidate how these advancements can positively impact developers in their daily coding endeavors.

Luis Majano
Luis Majano
November 20, 2023
Into the Box 2023 Series on CFCast

Into the Box 2023 Series on CFCast

Excitement is in the air as we unleash the highly anticipated ITB 2023 series exclusively for our valued CFCast subscribers – and the best part? It's FREE for CFCast members! Now is the perfect time if you haven't joined the CFCast community yet. Plus, we've got an incredible End-of-Year deal that's too good to miss

Maria Jose Herrera
Maria Jose Herrera
November 20, 2023
Ortus Deals are Finally Here!

Ortus Deals are Finally Here!

The much-anticipated Ortus End-of-the-Year Sale has arrived, and it's time to elevate your development experience! Whether you're a seasoned developer, a tech enthusiast, or someone on the lookout for top-notch projects, Ortus has something special in store for you. Brace yourself for incredible discounts across a wide array of products and services, including Ortus annual events, books, cutting-edge services, and more.

Maria Jose Herrera
Maria Jose Herrera
November 15, 2023