46 lines
812 B
Go
46 lines
812 B
Go
package app
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/onatm/clockwerk"
|
|
)
|
|
|
|
type Scheduler struct {
|
|
*PluginManager
|
|
}
|
|
|
|
func NewScheduler(c *Config) *Scheduler {
|
|
return &Scheduler{
|
|
PluginManager: NewPluginManager(),
|
|
}
|
|
}
|
|
|
|
func (c *Scheduler) Start() error {
|
|
// job := NewCachePermissionsJob(c)
|
|
sch := clockwerk.New()
|
|
// sch.Every(30 * time.Minute).Do(job)
|
|
sch.Start()
|
|
|
|
return nil
|
|
}
|
|
|
|
func (c *Scheduler) OnShutdown() {
|
|
log.Println("Scheduler is going down...")
|
|
|
|
c.GetDatabase().Close()
|
|
c.GetCache().Close()
|
|
}
|
|
|
|
// func (s *Server) addPlugin(name string, fn PluginFn) {
|
|
// s.plugins[name] = fn()
|
|
// }
|
|
|
|
// func (c *Scheduler) getCache() *redis.Client {
|
|
// return (c.handlers["cache"]).(*redis.Client)
|
|
// }
|
|
|
|
// func (c *Scheduler) getDatabase() *pgxpool.Pool {
|
|
// return (c.handlers["database"]).(*pgxpool.Pool)
|
|
// }
|