Comments (5)
Interesting. That's actually exactly what I do in a version of the product I wrote for a client.
I have a core
module and a separate worker
and coordinator
modules which depend on it.
I thought it was an overkill for the open source version so I chose not to do it.
Now, the existing codebase could still act as an SDK since all Coordinator features are inactive/dormant unless explicitly turned on by configuration. e.g. the Coordinator
bean is completely ignored if piper.coordinator.enabled=false
which is the default. Same goes for all the web endpoints.
from piper.
Ok. I see your point. It seems we have similar usages of the project.
Well, actually I don't think it's overkill to have a clean separation of the things - it's a good practice - but it depends on how you consider the project. As far as i understand, this project is a subset of a closed source version ?
from piper.
So the history of this project is that I wrote a close source version of it back in 2015.
Since I didn't own the IP but liked the project I decided to take the ideas and built it again from scratch and open source it.
Of course since I had the opportunity to take a completely fresh look I was able to remove some of the rough edges I didn't like with the original version.
My goal with the open source version is to give the same capabilities in terms of workflow managent while lowering the barrier to entry as much as possible to make it easy for people to adopt it.
That's the main reason behind deciding to fold the code base into a single jar. It's simpler for a newcomer to try things out with this setup.
I do think you have a valid point and perhaps worth revisiting in the future based on the feedback we get from the community.
from piper.
Many thanks for your explanation. I understand the context better.
So, another question: while keeping the project as simple as possible (this is one of the great qualities of the project, to my mind, compared to others), would you still be open to new features? Indeed, in the current state, piper
does not fit all our needs and some features are missing but piper
is for now the closest to what we need. 😄
from piper.
Yes, new features are definitely welcome on a case-by-case basis. Feel free to create new issues for any such ideas and start a conversation.
from piper.
Related Issues (20)
- Parallel task handler is executing tasks sequentially
- Fork/Join results not returning HOT 2
- Your first pipeline example does not work HOT 2
- Can I use BPMN with piper? HOT 4
- The Coordinator Shutsdown HOT 3
- Branch fork/join documentation issue HOT 3
- Switch not working as per document
- Application startup failed due to org.springframework.amqp.AmqpIOException: java.io.IOException HOT 5
- Logical control type support HOT 3
- Unknown pipeline: video/hls_single HOT 1
- adding control flow types HOT 7
- Distributed computing issue when deployed on multiple nodes with kubernetes HOT 1
- How to get more then 20 items in jobs list HOT 2
- How to run project after importing in STS
- Docker setup help, Failed to obtain JDBC Connection HOT 2
- Resuming a task within switch executes all tasks in hierarchy of parent switch
- /scripts/build.sh fails two unit tests HOT 5
- two sequential events for same task are send to two different queues
- test issue HOT 1
- another test issue 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 piper.