Elsa workflow supports asynchronously execution of workflow, so we can't get the result on spot, workflow execution performed by a thread, and response back instantly. So after completing workflow execution i'm unable to get actual output of workflow. So is there any way to perform workflow execution synchronously so that I can get the final output.
how to synchronously execute workflow using Elsa workflow engine
1k views Asked by Juni At
1
There are 1 answers
Related Questions in SYNCHRONIZED
- Swagger: How do you add ApiModelProperty for 3rd party code?
- Why `additionalProperties` is the way to represent Dictionary/Map in Swagger/OpenAPI 2.0
- Allow swagger query param to be array of strings or integers
- How to refer to an external JSON file containing response examples in Swagger?
- How to generate JSON examples from OpenAPI/Swagger model definition?
- Swagger/OpenAPI - use $ref to pass a reusable defined parameter
- Provide alternate (international) spelling for defined Swagger route
- Unable to use tags in swagger documentation
- Hello,I am using swagger 3.0.0.The operation oneOf is not working here too?Where is the mistaken?
- How to document a response comprised of a list of resources using OpenAPI
Related Questions in EXECUTION
- Swagger: How do you add ApiModelProperty for 3rd party code?
- Why `additionalProperties` is the way to represent Dictionary/Map in Swagger/OpenAPI 2.0
- Allow swagger query param to be array of strings or integers
- How to refer to an external JSON file containing response examples in Swagger?
- How to generate JSON examples from OpenAPI/Swagger model definition?
- Swagger/OpenAPI - use $ref to pass a reusable defined parameter
- Provide alternate (international) spelling for defined Swagger route
- Unable to use tags in swagger documentation
- Hello,I am using swagger 3.0.0.The operation oneOf is not working here too?Where is the mistaken?
- How to document a response comprised of a list of resources using OpenAPI
Related Questions in ELSA-WORKFLOWS
- Swagger: How do you add ApiModelProperty for 3rd party code?
- Why `additionalProperties` is the way to represent Dictionary/Map in Swagger/OpenAPI 2.0
- Allow swagger query param to be array of strings or integers
- How to refer to an external JSON file containing response examples in Swagger?
- How to generate JSON examples from OpenAPI/Swagger model definition?
- Swagger/OpenAPI - use $ref to pass a reusable defined parameter
- Provide alternate (international) spelling for defined Swagger route
- Unable to use tags in swagger documentation
- Hello,I am using swagger 3.0.0.The operation oneOf is not working here too?Where is the mistaken?
- How to document a response comprised of a list of resources using OpenAPI
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
You can run your workflow synchronously using
IWorkflowRunner.RunWorkflowAsync
, which returns aRunWorkflowResult
that contains the executedWorkflowInstance
, which contains output that was set by the workflow, if any.The
RunWorkflowAsync
takes the following parameters:IWorkflowBlueprint
- the workflow blueprint to run.WorkflowInstance
- a workflow instance of the workflow blueprint.ActivityId
- Optional. If your workflow has more than one starting activity, you need to specify which one to use.WorkflowInput
- Optional. If your workflow expects input, this is where you provide it.To get a workflow blueprint, use
IWorkflowRegistry
to find a workflow by name or by type (which is more convenient in case you have your workflow built using the fluent API).For example, if you have a workflow named "HelloWorld", this is how you get the workflow blueprint:
To create a workflow instance, although you could simply instantiate a new
WorkflowInstance
using its constructor, the simplest way is to useIWorkflowFactory
like this:With both the workflow blueprint and workflow instance at the ready, you can now run the workflow:
As an alternative to this low-level prepping of workflow execution, you can also use a higher-level service that does all this on one go.
For example, if you have a workflow created using the fluent API (i.e. some
IWorkflow
implementation) calledHelloWorldWorkflow
, then you can run the workflow usingIBuildsAndStartsWorkflow
, like this:That will do the steps I explained earlier for you (and run the workflow synchronously).
Yet another way is to use the higher-level service called
IWorkflowLaunchpad
, which has various methods to locate the workflow (or workflows) you want to execute.For example, if you know the workflow definition ID you want to execute synchronously, here's how you would do it: