mirror of
https://github.com/oarkflow/mq.git
synced 2025-10-04 15:42:49 +08:00
35 lines
779 B
Go
35 lines
779 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/oarkflow/mq"
|
|
"github.com/oarkflow/mq/examples/tasks"
|
|
|
|
"github.com/oarkflow/mq/dag"
|
|
)
|
|
|
|
func main() {
|
|
d := dag.NewDAG("Sample DAG", "sample-dag",
|
|
mq.WithSyncMode(true),
|
|
mq.WithNotifyResponse(tasks.NotifyResponse),
|
|
)
|
|
d.AddNode("C", "C", tasks.Node3, true)
|
|
d.AddNode("D", "D", tasks.Node4)
|
|
d.AddNode("E", "E", tasks.Node5)
|
|
d.AddNode("F", "F", tasks.Node6)
|
|
d.AddNode("G", "G", tasks.Node7)
|
|
d.AddNode("H", "H", tasks.Node8)
|
|
|
|
d.AddCondition("C", map[dag.When]dag.Then{"PASS": "D", "FAIL": "E"})
|
|
d.AddEdge("Label 1", "B", "C")
|
|
d.AddEdge("Label 2", "D", "F")
|
|
d.AddEdge("Label 3", "E", "F")
|
|
d.AddEdge("Label 4", "F", "G", "H")
|
|
d.AssignTopic("D")
|
|
err := d.Consume(context.Background())
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|