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("queue1") err := d.Consume(context.Background()) if err != nil { panic(err) } }