fix: change where TaskHandle is borrowed to prevent repeat output fetches
This commit is contained in:
1 parent
c8efb00175
commit
9fbe4c2fd8
47 files changed
+323
-513
No files matched your search
@@ -190,31 +190,33 @@ async fn main() {
|
||||
// Stage 2: Data transformation (with stateful tasks)
|
||||
let transformed_1 = dag
|
||||
.add_task(DataTransformer::new(1.5))
|
||||
.depends_on(raw_value_1);
|
||||
.depends_on(&raw_value_1);
|
||||
|
||||
let transformed_2 = dag
|
||||
.add_task(DataTransformer::new(2.0))
|
||||
.depends_on(raw_value_2);
|
||||
.depends_on(&raw_value_2);
|
||||
|
||||
let transformed_3 = dag
|
||||
.add_task(DataTransformer::new(0.5))
|
||||
.depends_on(raw_value_3);
|
||||
.depends_on(&raw_value_3);
|
||||
|
||||
// Stage 3: Statistical analysis (parallel operations on transformed data)
|
||||
let sum = dag
|
||||
.add_task(ComputeSum)
|
||||
.depends_on((transformed_1, transformed_2, transformed_3));
|
||||
.depends_on((&transformed_1, &transformed_2, &transformed_3));
|
||||
|
||||
let product =
|
||||
dag.add_task(ComputeProduct)
|
||||
.depends_on((transformed_1, transformed_2, transformed_3));
|
||||
.depends_on((&transformed_1, &transformed_2, &transformed_3));
|
||||
|
||||
let max = dag
|
||||
.add_task(FindMax)
|
||||
.depends_on((transformed_1, transformed_2, transformed_3));
|
||||
.depends_on((&transformed_1, &transformed_2, &transformed_3));
|
||||
|
||||
// Stage 4: Final report
|
||||
let report = dag.add_task(GenerateReport).depends_on((sum, product, max));
|
||||
let report = dag
|
||||
.add_task(GenerateReport)
|
||||
.depends_on((&sum, &product, &max));
|
||||
|
||||
// Execute the pipeline
|
||||
println!("Executing pipeline...\n");
|
||||
@@ -224,5 +226,5 @@ async fn main() {
|
||||
.unwrap();
|
||||
|
||||
// Print final report
|
||||
println!("{}", output.get(report).unwrap());
|
||||
println!("{}", output.get(report));
|
||||
}
|
||||
Reference in new issue
Block a user