Skip to main content
Inspiring
Aug 28, 2017 7:48 PM UTC
Answered

STOP query if time exceeds 30 seconds

I have a MySQL DB with 20 million records. I need to search through it to find certain records.

But I don't want the query running so long that it brings down the DB server

Long running queries have done this before.

Is it possible to write code that says if this query is taking longer than 20 seconds then stop processing and output a message

Like "please try your query again later"

This topic is closed to new replies. Start a new post to keep the conversation going.
WolfShade
WolfShadeCorrect answer
Legend
Aug 28, 2017 8:21 PM UTC

<cftry>

     <cfquery name="foo" datasource="#application.dsn#" timeout="30">

     ...

     </cfquery>

     <cfcatch>

     Try the search later

     <cfmail from="webmaster@domain.com" to="you@domain.com" subject="ERROR" type="html">

          There has been an error.. information below..

          <cfdump var="#cfcatch#" />

     </cfmail>

     </cfcatch>

</cftry>

Just an example.

HTH,

^ _ ^

4 replies

WolfShade
WolfShadeCorrect answer
Legend
Aug 28, 2017 8:21 PM UTC

<cftry>

     <cfquery name="foo" datasource="#application.dsn#" timeout="30">

     ...

     </cfquery>

     <cfcatch>

     Try the search later

     <cfmail from="webmaster@domain.com" to="you@domain.com" subject="ERROR" type="html">

          There has been an error.. information below..

          <cfdump var="#cfcatch#" />

     </cfmail>

     </cfcatch>

</cftry>

Just an example.

HTH,

^ _ ^

Translate
weezerboyAuthor
Inspiring
Aug 28, 2017 9:02 PM UTC

Thank you. Works great!

Translate
WolfShade
Legend
Aug 29, 2017 1:22 PM UTC

Thank you for marking my answer correct.  I do appreciate it.

V/r,

^ _ ^

Translate
WolfShade
Legend
Aug 28, 2017 8:14 PM UTC

CFQUERY has a timeout attribute that registers in seconds (not milliseconds) that you can use to shut down the query with.  If the time is exceeded, it throws an error.  You can place it within a CFTRY/CFCATCH to display the message.

HTH,

^ _ ^

Translate