Qorus Integration Engine®
4.0.3.p2_git
|
The abstract class for asynchronous steps. More...
Public Member Methods | |
abstract nothing | primary () |
The primary step logic for the async step. More... | |
public string | validation (*string async_key) |
Validation logic for the step. More... | |
public nothing | end (auto queue_data) |
This method is run when the queue data bound to the asynchronous is updated and receives status OMQ::QS_Received. More... | |
Additional Inherited Members | |
Static Public Member Methods inherited from OMQ::UserApi::Workflow::QorusAsyncStepBase | |
static public | submitAsyncKey (string key) |
Binds the given key to the asynchronous step. More... | |
static public | skipAsyncStep () |
This method will skip the execution of an asynchronous step. More... | |
The abstract class for asynchronous steps.
An asynchronous step should be used any time a workflow action should be executed and it's not known in advance how long the action could take, or if the action should take a long period of time.
public nothing OMQ::UserApi::Workflow::QorusAsyncStep::end | ( | auto | queue_data | ) |
This method is run when the queue data bound to the asynchronous is updated and receives status OMQ::QS_Received.
The job of this method is to determine if the asynchronously-received data is correct or not; if it is not correct, then the function should raise an error by calling wf_serror() or by throwing an appropriate exception. If no validation of the data is required, then the function body may be empty.
queue_data | any data that was posted when the queue status got status OMQ::QS_Received |
|
pure virtual |
The primary step logic for the async step.
This code must call either submitAsyncKey() or skipAsyncStep() or an error will be raised.
If the step is not to be skipped, then the step nust start the asynchronous action and save a unique key for the action by calling the submitAsyncKey() workflow API function.
Validation logic for the step.
This method must be overridden for steps that can only execute once; by default this method will return OMQ::StatRetry, meaning that the primary step logic will be repeated.
async_key | the asynchronous key for the step, if bound, if not, this value will be NOTHING |
"COMPLETE"
and continue. For asynchronous steps, the back-end logic (end()) will not be run in this case"ERROR"
and stop running any further dependencies of this step"ASYNC-WAITING"
status. For non-asynchronous steps, raises an error and the return value is treated like OMQ::StatError