Skip to main content
Inspiring
June 17, 2015
Question

Call function with long process

  • June 17, 2015
  • 1 reply
  • 373 views

Hi All,

How can I define a function that call a Oracle sp but right away return something?

The sp is a long process, I can check if the process finish later with another function.

<cffunction name="callFunctionCC" access="remote" output="false" returnformat="any">

     <cfargument name="myID" type="numeric" required="true">

     <cfset var myResult = "The process start" />

     <cfset var qryData = "" />

     <cfstoredproc procedure="TT.CALCS.getLongProcess" datasource="#application.str_dsn#">

         <cfprocparam value="#arguments.myID#" cfsqltype="cf_SQL_NUMERIC">

         <cfprocresult name="qryData">

     </cfstoredproc>

     <cfreturn myResult/>

</cffunction>

Thanks,

    This topic has been closed for replies.

    1 reply

    Legend
    June 17, 2015

    You could wrap the process in a CFThread.  Your long process will start "behind the scenes" in a new thread and your function can return whatever.

    <cffunction name="callFunctionCC" access="remote" output="false" returnformat="any">

         <cfargument name="myID" type="numeric" required="true">

         <cfset var myResult = "The process start" />

         <cfset var qryData = "" />

    <cfthread name="theLongRoad">

         <cfstoredproc procedure="TT.CALCS.getLongProcess" datasource="#application.str_dsn#">

             <cfprocparam value="#arguments.myID#" cfsqltype="cf_SQL_NUMERIC">

             <cfprocresult name="qryData">

         </cfstoredproc>

    </cfthread>

         <cfreturn myResult/>

    </cffunction>