1 Reply Latest reply on Jun 17, 2015 8:58 AM by sdsinc_pmascari

    Call function with long process

    jfb00 Level 3

      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,

        • 1. Re: Call function with long process
          sdsinc_pmascari Level 2

          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>