mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-22 00:21:55 +00:00
Daniel Mason
9866dea36b
- Fix redirects to /login for auth required pages - Add handling for 401/429 + No connection responses in API calls - Add background workers for Go (clear out password resets) - Fixed timezone issues
37 lines
597 B
Go
37 lines
597 B
Go
package goscrobble
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
)
|
|
|
|
var endTicker chan bool
|
|
|
|
func StartBackgroundWorkers() {
|
|
endTicker := make(chan bool)
|
|
|
|
hourTicker := time.NewTicker(time.Hour)
|
|
minuteTicker := time.NewTicker(time.Duration(1) * time.Minute)
|
|
|
|
go func() {
|
|
for {
|
|
select {
|
|
case <-endTicker:
|
|
fmt.Println("Stopping background workers")
|
|
return
|
|
case <-hourTicker.C:
|
|
// Clear old password reset tokens
|
|
clearOldResetTokens()
|
|
|
|
case <-minuteTicker.C:
|
|
// Update playdata from spotify
|
|
updateSpotifyData()
|
|
}
|
|
}
|
|
}()
|
|
}
|
|
|
|
func EndBackgroundWorkers() {
|
|
endTicker <- true
|
|
}
|