init: publisher

This commit is contained in:
sujit
2024-09-27 12:34:48 +05:45
parent 13b922e038
commit d4cd24f5b4
6 changed files with 74 additions and 21 deletions

View File

@@ -3,29 +3,16 @@ package main
import (
"context"
"fmt"
"github.com/oarkflow/mq"
"time"
)
func main() {
b := mq.NewBroker(func(ctx context.Context, task *mq.Task) error {
fmt.Println("Received task", task.ID, string(task.Payload), string(task.Result), task.Error, task.CurrentQueue)
fmt.Println("Received task", task.ID, "Payload", string(task.Payload), "Result", string(task.Result), task.Error, task.CurrentQueue)
return nil
})
b.NewQueue("queue1")
b.NewQueue("queue2")
go func() {
for i := 0; i < 10; i++ {
b.Publish(context.Background(), mq.Task{
ID: fmt.Sprint(i),
Payload: []byte(`"Hello"`),
}, "queue1")
b.Publish(context.Background(), mq.Task{
ID: fmt.Sprint(i),
Payload: []byte(`"World"`),
}, "queue2")
time.Sleep(time.Second)
}
}()
b.Start(context.Background(), ":8080")
}