Cleanup¶
Limen can remove expired auth data from the database. Cleanup covers:
- expired sessions
- expired verification tokens
- expired database-backed rate-limit rows when all rate-limit windows are static
Cleanup runs during limen.New by default.
Configure Startup Cleanup¶
auth, err := limen.New(&limen.Config{
Database: adapter,
Secret: []byte(os.Getenv("LIMEN_SECRET")),
Cleanup: limen.NewDefaultCleanupConfig(limen.WithCleanupOnInit(true)),
})
Disable startup cleanup if you prefer to run cleanup from a scheduled job:
Cleanup: limen.NewDefaultCleanupConfig(
limen.WithCleanupOnInit(false),
)
Run Cleanup Manually¶
if err := auth.CleanupExpired(ctx); err != nil {
log.Printf("limen cleanup failed: %v", err)
}
A common production setup is to disable startup cleanup and run
CleanupExpired from one cron job or background worker.
Rate Limit Cleanup¶
Database-backed rate-limit cleanup only runs when Limen can calculate a static maximum window. If any rate-limit rule uses a dynamic limit provider, Limen skips rate-limit cleanup because it cannot know a safe expiration window.