From f4fdc7d6b12211f0c34cff672654f92f53571195 Mon Sep 17 00:00:00 2001
From: Volker Schukai <volker.schukai@schukai.com>
Date: Tue, 7 Nov 2023 13:55:47 +0100
Subject: [PATCH] feat: new manager functions for create scheduler

---
 manager.go | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/manager.go b/manager.go
index 6b400de..c54b514 100644
--- a/manager.go
+++ b/manager.go
@@ -71,6 +71,35 @@ func (m *Manager) GetCronInstance() *cron.Cron {
 	return m.cronInstance
 }
 
+func (m *Manager) CreateCronScheduler(spec string) *CronScheduler {
+	return &CronScheduler{
+		Spec: spec,
+		cron: m.GetCronInstance(),
+	}
+}
+
+func (m *Manager) CreateInstantScheduler() *InstantScheduler {
+	return &InstantScheduler{}
+}
+
+func (m *Manager) CreateIntervalScheduler(interval time.Duration) *IntervalScheduler {
+	return &IntervalScheduler{
+		Interval: interval,
+	}
+}
+
+func (m *Manager) CreateDelayScheduler(delay time.Duration) *DelayScheduler {
+	return &DelayScheduler{
+		Delay: delay,
+	}
+}
+
+func (m *Manager) CreateEventScheduler(event EventName) *EventScheduler {
+	return &EventScheduler{
+		Event: event,
+	}
+}
+
 func (m *Manager) SetDB(db *gorm.DB) *Manager {
 	m.mu.Lock()
 	defer m.mu.Unlock()
-- 
GitLab