feat(flow): support passing a chain option #2949
Draft
+610
−144
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Imagine that you have 2 jobs (A and B), where B depends on the completion of A. This kind of dependency relationship should be handled by our waiting-children state.
What would happen if these 2 jobs happened in different transactions? In order have a way to link these 2 separated operations we need to track the reference of this chain of dependencies.
I'm introducing a new concept of saving a chain id reference where job A and B must provide it as option. Chain id and chain queueKey are used to build a chainKey to track the last jobKey reference to be used for the next subsequent jobs with same chain options to be added in the same dependency relationship.
Points to consider: