Comments (7)
Workflow with many tasks and branches can lead to the delay during inspect. Workflow with many tasks and cycles can lead to delay in the conductor serialize. It is generally wise to logically break down a workflow into multiple subworkflows (or workflow in different StackStorm action that is called by the main workflow). You'll find performance benefits as well as testability.
from orquesta.
@m4dcoder why doing this in every action? And why not generate a workable script or python script from the workflow yaml file, and actually run the script.
BTW, I'm trying another way to do those workflow like jobs.
from orquesta.
@liuzheng The inspect is performed when the workflow is launched. We run this every launch because the workflow definition is defined in a file that can be modified in between runs. We can certainly look at feature to checksum and skip inspect if the definition hasn't changed since last run. As for the conductor.serialize, the current design saves and restores the state of the workflow execution on async checkpoint. This lets the action execution resume on any nodes in a scaled out deployment. We currently have a workflow engine that can already handle many different use cases. It is unnecessary to generate any python scripts for these workflows. You may be confusing us with how other workflow service/engine works. However your concerns with performance is valid and we appreciate your input.
from orquesta.
Another case, why not save those yaml file into a database, to make sure it was verified, that will save the case in distributed scenario
from orquesta.
@liuzheng That's a possible solution. However this change will also cascade down to how we handle other StackStorm actions today since the current mode of operations is to have shell/python scripts for these actions on the filesystem and not registered in the database.
from orquesta.
This is an excellent topic for the next TSC meeting, happening on the first Tuesday of March.
@liuzheng Do you mind writing a proposal/issue for this in StackStorm/discussions and attending that meeting to discuss it?
from orquesta.
I really appreciate the invitation, but now a days I have lots works to do.
And I don't know how to start write this proposal.
Please tell me your rule, and later I will try to write some.
from orquesta.
Related Issues (20)
- Exception running workflow - 'ValueError: malformed node or string: <_ast.BinOp object at 0x7f80d29946d8>' HOT 3
- Workflow join is not triggered on complete for failed task(s) HOT 8
- The ujson 2.0.x doesn't compatible with Orquesta HOT 1
- Retries using with-items runs a retry even on objects that succeeded as well HOT 5
- Add ability in task spec to wait for a lock before proceeding HOT 4
- Join failure within nested workflows can cause Parent workflow to run indefinitely.
- Join ALL and conditional branches conflict? HOT 6
- Incomplete next staged concurrent task with items if last running nested item fails.
- KeyValue DataStore does not load in Workflow HOT 2
- Workflow join is not properly working if one step fails HOT 4
- Disable action notify triggers when action is executed under workflow context HOT 3
- Naming a workflow task "get_task" causes "'TaskSpec' object is not callable" error
- Valid YAQL in With Items Input Fails HOT 8
- JOIN all with condition HOT 2
- Investigate using `rustworkx` instead of `networkx` HOT 1
- Workflow stuck with concurrency value of 0.
- Orquesta workflow inquiries responder user ID not found
- task with join: all starts without waiting for all the previous task completed when there is a loop
- Vague error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orquesta.