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