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
- C++: Re-use line printed to console
- NSAttributeString - How to remove auto formatting for a date or time item?
- Bifurcate a string, removing the middle of the string instead of end
- Use DateTime format in a class but restrict time tokens
- Doesn't change the format of columns to date
- How do I convert a double into an n-character string using exponential notation?
- Java Integer Pyramid
- proper way to get nice string from exception
- How to edit text in columns?
- Simple and clean java float to string conversion
Related Questions in EXECUTION
- C++: Re-use line printed to console
- NSAttributeString - How to remove auto formatting for a date or time item?
- Bifurcate a string, removing the middle of the string instead of end
- Use DateTime format in a class but restrict time tokens
- Doesn't change the format of columns to date
- How do I convert a double into an n-character string using exponential notation?
- Java Integer Pyramid
- proper way to get nice string from exception
- How to edit text in columns?
- Simple and clean java float to string conversion
Related Questions in ELSA-WORKFLOWS
- C++: Re-use line printed to console
- NSAttributeString - How to remove auto formatting for a date or time item?
- Bifurcate a string, removing the middle of the string instead of end
- Use DateTime format in a class but restrict time tokens
- Doesn't change the format of columns to date
- How do I convert a double into an n-character string using exponential notation?
- Java Integer Pyramid
- proper way to get nice string from exception
- How to edit text in columns?
- Simple and clean java float to string conversion
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: