nsfwapp/backend/postwork_refresh.go
2026-02-06 09:35:43 +01:00

41 lines
675 B
Go

package main
import (
"reflect"
"strings"
"time"
)
func startPostWorkStatusRefresher() {
t := time.NewTicker(1 * time.Second)
go func() {
defer t.Stop()
for range t.C {
changed := false
jobsMu.Lock()
for _, job := range jobs {
key := strings.TrimSpace(job.PostWorkKey)
if key == "" {
continue
}
st := postWorkQ.StatusForKey(key)
// ✅ Kein Typname nötig: job.PostWork ist *<StatusType>, st ist <StatusType>
if job.PostWork == nil || !reflect.DeepEqual(*job.PostWork, st) {
tmp := st
job.PostWork = &tmp
changed = true
}
}
jobsMu.Unlock()
if changed {
notifyJobsChanged()
}
}
}()
}