Coldfusion установил тайм-аут на странице.cfc?

У меня есть такой.cfc что я использую для всех коммуникаций между клиентом и сервером кода. Эта страница cfc имеет около 10 различных функций. У каждой функции свое назначение, и у меня есть запросы на выбор, вставку, обновление и удаление. Мне интересно, если я должен установить timeout на вершине .cfc страница внутри cfcomponent тег или это должно быть установлено внутри каждой функции или мне это вообще нужно? В нашей текущей системе у нас есть много сообщений об ошибках, таких как: The request has exceeded the allowable time limit Tag: CFQUERY,

Я хотел бы предотвратить любые подобные сообщения об ошибках в моем приложении. Вот пример моей страницы cfc:

<cfcomponent>
    <cfset currentDate = DateFormat(Now(),'mm/dd/yyyy')>
    <cfset currentTime = TimeFormat(Now(),'hh:mm tt')>

    <cfinvoke component="appEntry" method="getRecord" returnvariable="CHKAccess">
        <cfinvokeargument name="user" value="userdata"/>
        <cfinvokeargument name="app" value="myApp"/>
    </cfinvoke>

    <cfset adminAccess = false>
    <cfset userAccess = false>

    <cfif CHKAccess.RecordCount EQ 1>
        <cfif CHKAccess.pd_hfmAccess EQ 'A'>
            <cfset adminAccess = true>
        </cfif>
        <cfif CHKAccess.pd_hfmAccess EQ 'U'>
            <cfset userAccess = true>
        </cfif>
    </cfif>

    <cffunction name="getData" access="remote" output="true" returnformat="JSON">
        <cfargument name="keyVal" type="string" required="true">

        <cfset fnResults = structNew()>

        <cfif userAccess>
            <cfquery name="getRec" datasource="tes">
                SELECT some columns
                FROM Test
            </cfquery>

            <cfset fnResults.status = "200">
        <cfelse>
            <cfset fnResults.status = "400">
            <cfset fnResults.message = "Invalid access attempt.">
        </cfif>

        <cfreturn fnResults>
    </cffunction>

   <!--- More functions below --->
</cfcomponents>

Если у кого-то есть предложения, что будет лучшим решением, пожалуйста, дайте мне знать. Спасибо.

1 ответ

Вы должны установить requesttimeout в методе, который содержит это long-running cfquery,

Вы не хотите "наказывать" все методы только за один метод. Если вы установите его для всех, как вы узнаете, какой из них медленный, а какой - нормальный, если вам все равно?

Другие вопросы по тегам