Anime lists didn't age well 😵‍💫

This commit is contained in:
daru
2022-08-25 23:31:18 +02:00
parent dbd34abea1
commit 730f91e74e
6 changed files with 48 additions and 42 deletions

View File

@@ -12,7 +12,7 @@ import (
)
func Arbeiten() {
for range time.Tick(20 * time.Minute) {
for range time.Tick(10 * time.Minute) {
Arbeit()
}
}
@@ -27,15 +27,9 @@ func Arbeit() {
}
} else {
cleared := 0
checkDate := time.Now().Add(-1 * time.Hour)
lastAnnounce.Lock()
defer lastAnnounce.Unlock()
newCheckDate := time.Now()
data, err := animeListCache.Get(bucketAppoint)
if err == nil {
nanora, err := BytesToInt64(data)
if err == nil {
checkDate = time.Unix(0, nanora)
}
}
for _, a := range appoints {
if a.Time.Add(22 * time.Hour).Before(newCheckDate) {
// appointment expired
@@ -48,13 +42,13 @@ func Arbeit() {
cleared++
}
} else {
if checkDate.Add(time.Hour).Before(a.Time) && newCheckDate.Add(time.Hour).After(a.Time) {
if lastAnnounce.stamp.Add(time.Hour).Before(a.Time) && newCheckDate.Add(time.Hour).After(a.Time) {
// This has not happened and is happening soon
go AnnounceBomb(a.Anime, a.Time.Unix(), time.Until(a.Time.Add(-25*time.Minute)))
}
}
}
animeListCache.Set(bucketAppoint, Int64ToByte(newCheckDate.UnixNano()))
lastAnnounce.stamp = newCheckDate
if cleared > 0 {
color.Infof("Cleared %d expired appointments\n", cleared)
logOut.WriteLine(fmt.Sprintf("♻️ Cleared %d expired appointments", cleared))
@@ -70,14 +64,19 @@ func Arbeit() {
}
return
}
// ACTUALLY STUPID ENOUGH TO FIX A LOT OF PROBLEMS
animeListCache.Reset()
color.Infoln("Animelisten abfragen...")
logOut.WriteLine("📜 Animelisten abfragen...")
//logOut.WriteLine("📜 Animelisten abfragen...")
count := 0
// iterate anime
for _, a := range animesUsers {
// iterate users
for _, u := range a.Users {
newProgress, updated, score, listState, err := FetchProgress(a.Anime, u.Username, true)
newProgress, updated, score, listState, err := FetchProgress(a.Anime, u.Username)
if err != nil {
color.Errorln(err.Error())
logOut.WriteError(err)
@@ -123,8 +122,10 @@ func Arbeit() {
count++
}
}
color.Infof("%d Sachen aktualisiert\n", count)
logOut.WriteLine(fmt.Sprintf("📜 %d Sachen aktualisiert", count))
if count > 0 {
color.Infof("%d Sachen aktualisiert\n", count)
logOut.WriteLine(fmt.Sprintf("📜 %d Sachen aktualisiert", count))
}
}
func BissleArbeiten() {