feat: [wip] - implement storage

This commit is contained in:
sujit
2024-10-17 10:03:07 +05:45
parent 53b68572dd
commit ea266be846
13 changed files with 730 additions and 482 deletions

View File

@@ -11,14 +11,14 @@ import (
func main() {
handler := tasks.SchedulerHandler
callback := tasks.SchedulerCallback
pool := mq.NewPool(3, 5, 1000, handler, callback)
pool := mq.NewPool(3, 5, 1000, handler, callback, mq.NewMemoryTaskStorage(10*time.Minute))
ctx := context.Background()
pool.AddTask(context.Background(), &mq.Task{ID: "Task 1"}, 1)
pool.EnqueueTask(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"})
pool.EnqueueTask(context.Background(), &mq.Task{ID: "Task 2"}, 5)
pool.Scheduler().AddTask(ctx, &mq.Task{ID: "Every Minute Task"})
time.Sleep(10 * time.Minute)
pool.Scheduler.RemoveTask("Every Minute Task")
pool.Scheduler().RemoveTask("Every Minute Task")
time.Sleep(5 * time.Minute)
pool.PrintMetrics()
pool.Stop()