Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GoFlow-4] Allow GoFlow workload to be completely independent to the flow #4

Open
s8sg opened this issue Jul 30, 2020 · 1 comment
Open
Labels
Milestone

Comments

@s8sg
Copy link
Owner

s8sg commented Jul 30, 2020

Currently Flow and Workload are tightly coupled as workload are defined inside of a flow definition
This has a few drawbacks

  1. You can't scale only a specific workload
  2. Changing a workload will touch the whole flow definition
  3. Workload can't be shared across other flows

To solve this issue GoFlow will support a special kind of Operation called ApplyExternal() like Apply()
It will take a unique ID of the workload that need to be called

Node('n2').ApplyExternal('task1')

To define a workload user need to use the GoFlow Library and Register a Workload using the unique ID

fs.Register('task1', PerformTask1)
fs.StartWorkload(['myflow']) // start workload will take the list of flows

Workload will have the same signature

func PerformTask1(data []byte, option map[string][]string) ([]byte, error) {
  ...
}
@s8sg s8sg added enhancement New feature or request experimental labels Mar 4, 2021
@lyphilip
Copy link

Hi, any updates on this feature?

@s8sg s8sg changed the title Allow GoFlow workload to be completely independent to the flow [GoFlow-4] Allow GoFlow workload to be completely independent to the flow Jun 25, 2023
@s8sg s8sg added this to the v1.0.0 milestone Jun 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants