node build fixed
This commit is contained in:
79
seanime-2.9.10/internal/cron/cron.go
Normal file
79
seanime-2.9.10/internal/cron/cron.go
Normal file
@@ -0,0 +1,79 @@
|
||||
package cron
|
||||
|
||||
import (
|
||||
"seanime/internal/core"
|
||||
"time"
|
||||
)
|
||||
|
||||
type JobCtx struct {
|
||||
App *core.App
|
||||
}
|
||||
|
||||
func RunJobs(app *core.App) {
|
||||
|
||||
// Run the jobs only if the server is online
|
||||
ctx := &JobCtx{
|
||||
App: app,
|
||||
}
|
||||
|
||||
refreshAnilistTicker := time.NewTicker(10 * time.Minute)
|
||||
refreshLocalDataTicker := time.NewTicker(30 * time.Minute)
|
||||
refetchReleaseTicker := time.NewTicker(1 * time.Hour)
|
||||
refetchAnnouncementsTicker := time.NewTicker(10 * time.Minute)
|
||||
|
||||
go func() {
|
||||
for {
|
||||
select {
|
||||
case <-refreshAnilistTicker.C:
|
||||
if *app.IsOffline() {
|
||||
continue
|
||||
}
|
||||
RefreshAnilistDataJob(ctx)
|
||||
if app.LocalManager != nil &&
|
||||
!app.GetUser().IsSimulated &&
|
||||
app.Settings != nil &&
|
||||
app.Settings.Library != nil &&
|
||||
app.Settings.Library.AutoSyncToLocalAccount {
|
||||
_ = app.LocalManager.SynchronizeAnilistToSimulatedCollection()
|
||||
}
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
go func() {
|
||||
for {
|
||||
select {
|
||||
case <-refreshLocalDataTicker.C:
|
||||
if *app.IsOffline() {
|
||||
continue
|
||||
}
|
||||
SyncLocalDataJob(ctx)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
go func() {
|
||||
for {
|
||||
select {
|
||||
case <-refetchReleaseTicker.C:
|
||||
if *app.IsOffline() {
|
||||
continue
|
||||
}
|
||||
app.Updater.ShouldRefetchReleases()
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
go func() {
|
||||
for {
|
||||
select {
|
||||
case <-refetchAnnouncementsTicker.C:
|
||||
if *app.IsOffline() {
|
||||
continue
|
||||
}
|
||||
app.Updater.FetchAnnouncements()
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user