mirror of
https://github.com/oarkflow/mq.git
synced 2025-10-06 16:36:53 +08:00
26 lines
711 B
Go
26 lines
711 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"github.com/oarkflow/mq"
|
|
"github.com/oarkflow/mq/examples/tasks"
|
|
)
|
|
|
|
func main() {
|
|
handler := tasks.SchedulerHandler
|
|
callback := tasks.SchedulerCallback
|
|
pool := mq.NewPool(3, 5, 1000, handler, callback)
|
|
ctx := context.Background()
|
|
pool.AddTask(context.Background(), &mq.Task{ID: "Task 1"}, 1)
|
|
time.Sleep(1 * time.Second)
|
|
pool.AddTask(context.Background(), &mq.Task{ID: "Task 2"}, 5)
|
|
pool.Scheduler.AddTask(ctx, &mq.Task{ID: "Every Minute Task"}, mq.WithSchedulerHandler(handler), mq.WithSchedulerCallback(callback))
|
|
time.Sleep(10 * time.Minute)
|
|
pool.Scheduler.RemoveTask("Every Minute Task")
|
|
time.Sleep(5 * time.Minute)
|
|
pool.PrintMetrics()
|
|
pool.Stop()
|
|
}
|