A library that adds upstream and downstream triggers to LambdaCD
When you want to split your pipeline up into multiple, smaller pipelines and trigger one pipeline from another.
(let [foo-config {; ...
:value-stream {:pipeline-id :foo}}
foo-config {; ...
:value-stream {:pipeline-id :bar}}
foo-pipeline (lambdacd/assemble-pipeline foo-structure foo-config)
bar-pipeline (lambdacd/assemble-pipeline bar-structure bar-config)]
; ...
(value-stream/initialize-value-stream [foo-pipeline bar-pipeline]
; ...
)
(let [foo-pipeline (lambdacd/assemble-pipeline foo-structure foo-config)
bar-pipeline (lambdacd/assemble-pipeline bar-structure bar-config)]
; ...
(value-stream/initialize-value-stream {:foo foo-pipeline
:bar bar-pipeline})
; ...
)
(defn wait-for-foo-pipeline [args ctx]
(value-stream/wait-for-pipline-success :foo ctx))
(defn wait-for-upstream-trigger [args ctx]
; you can also inline this into the pipeline-structure
(value-stream/wait-for-upstream-trigger args ctx))
(defn trigger-bar-pipeline [args ctx]
(value-stream/trigger-downstream-pipeline :bar args ctx))
See example for a complete example.
- Wait for upstream success
- Trigger from upstream step
- Visualization
Copyright © 2016 Florian Sellmayr
Distributed under the Apache License 2.0