diff --git a/manager.go b/manager.go index 6b400de285c2c5f8e481a6ea82cd09db18ba32be..c54b5140bf1f98904c1a1e482c5647b4e7c76565 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()