1234567891011121314151617181920212223242526272829 |
- package cron
- import (
- "time"
- "github.com/0xJacky/Nginx-UI/query"
- "github.com/go-co-op/gocron/v2"
- "github.com/uozi-tech/cosy/logger"
- )
- // setupAuthTokenCleanupJob initializes the job to clean expired auth tokens
- func setupAuthTokenCleanupJob(scheduler gocron.Scheduler) (gocron.Job, error) {
- job, err := scheduler.NewJob(
- gocron.DurationJob(5*time.Minute),
- gocron.NewTask(func() {
- logger.Debug("clean expired auth tokens")
- q := query.AuthToken
- _, _ = q.Where(q.ExpiredAt.Lt(time.Now().Unix())).Delete()
- }),
- gocron.WithSingletonMode(gocron.LimitModeWait),
- gocron.JobOption(gocron.WithStartImmediately()))
- if err != nil {
- logger.Errorf("CleanExpiredAuthToken Err: %v\n", err)
- return nil, err
- }
- return job, nil
- }
|