Real-Time Process Execution

Learn about the real-time process execution in FlowWright

Last published at: July 30th, 2024

Typically, when a process instance is created and executed, it is processed in the background by the process engine. When that process instance may be executed depends on several factors, including priority, when to execute, and how busy the process engine is.

 

FlowWright's process engine can execute a process instance in real time (completely in memory) and return a result—similar to how a FlowWright Microservice works.  

 

In many use cases, you might want to execute a process in real time. For example, the process might take some inputs, make some decisions and computations in real time, and return the output as a result.

 

Here's the example API code to perform real-time process execution using the FlowWright API:

 

//API entry point, using a user session
FWProcessDesign oDesign = new FWProcessDesign(oUserSession);

//get a process definition from the database
FWProcessDefinition oDef = oDesign.GetDefinitionUsingName("ComputeNums10");

//get the process model 
FWProcessModel oModel = oDef.GetProcessModel(true);

//create a real-time execution object 
FWProcessRealTime oRT = new FWProcessRealTime(oUserSession);

//have the real-time execution object execute the process in real-time 
FWExecutionResult oResult = oRT.ExecuteInRealTime(oProcModel);