Use better cron package
This commit is contained in:
5 files changed
+29
-56
No files matched your search
+10
-4
@@ -10,14 +10,14 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/go-co-op/gocron"
|
||||
"github.com/pagefaultgames/pokerogue-server/db"
|
||||
"github.com/robfig/cron/v3"
|
||||
)
|
||||
|
||||
const secondsPerDay = 60 * 60 * 24
|
||||
|
||||
var (
|
||||
scheduler = gocron.NewScheduler(time.UTC)
|
||||
scheduler = cron.New()
|
||||
secret []byte
|
||||
)
|
||||
|
||||
@@ -51,8 +51,14 @@ func Init() error {
|
||||
|
||||
log.Printf("Daily Run Seed: %s", Seed())
|
||||
|
||||
scheduler.Every(1).Day().At("00:00").Do(recordNewDaily())
|
||||
scheduler.StartAsync()
|
||||
scheduler.AddFunc("@daily", func() {
|
||||
err := recordNewDaily()
|
||||
if err != nil {
|
||||
log.Printf("error while recording new daily: %s", err)
|
||||
}
|
||||
})
|
||||
|
||||
scheduler.Start()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ func Clear(uuid []byte, slot int, seed string, save defs.SessionSaveData) (Clear
|
||||
if !sessionCompleted {
|
||||
waveCompleted--
|
||||
}
|
||||
|
||||
err = db.AddOrUpdateAccountDailyRun(uuid, save.Score, waveCompleted)
|
||||
if err != nil {
|
||||
log.Printf("failed to add or update daily run record: %s", err)
|
||||
|
||||
+16
-9
@@ -2,38 +2,45 @@ package api
|
||||
|
||||
import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/go-co-op/gocron"
|
||||
"github.com/pagefaultgames/pokerogue-server/db"
|
||||
"github.com/robfig/cron/v3"
|
||||
)
|
||||
|
||||
var (
|
||||
statScheduler = gocron.NewScheduler(time.UTC)
|
||||
scheduler = cron.New()
|
||||
playerCount int
|
||||
battleCount int
|
||||
classicSessionCount int
|
||||
)
|
||||
|
||||
func scheduleStatRefresh() {
|
||||
statScheduler.Every(10).Second().Do(updateStats)
|
||||
statScheduler.StartAsync()
|
||||
scheduler.AddFunc("@every 10s", func() {
|
||||
err := updateStats()
|
||||
if err != nil {
|
||||
log.Printf("failed to update stats: %s", err)
|
||||
}
|
||||
})
|
||||
|
||||
scheduler.Start()
|
||||
}
|
||||
|
||||
func updateStats() {
|
||||
func updateStats() error {
|
||||
var err error
|
||||
playerCount, err = db.FetchPlayerCount()
|
||||
if err != nil {
|
||||
log.Print(err)
|
||||
return err
|
||||
}
|
||||
|
||||
battleCount, err = db.FetchBattleCount()
|
||||
if err != nil {
|
||||
log.Print(err)
|
||||
return err
|
||||
}
|
||||
|
||||
classicSessionCount, err = db.FetchClassicSessionCount()
|
||||
if err != nil {
|
||||
log.Print(err)
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in new issue
Block a user