From f42ac5d7440560e16e6eba313e6a534cb1a46cc1 Mon Sep 17 00:00:00 2001 From: jamesread Date: Sat, 12 Nov 2022 12:19:20 +0400 Subject: [PATCH] depbump: Migrate from go-cron to cron (the underlying lib) --- go.mod | 4 +--- go.sum | 4 ---- internal/updatecheck/updateCheck.go | 15 ++++++++++----- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 555a75b..dd4bd07 100644 --- a/go.mod +++ b/go.mod @@ -6,11 +6,11 @@ require ( github.com/bufbuild/buf v1.3.1 github.com/fsnotify/fsnotify v1.5.4 github.com/fzipp/gocyclo v0.5.0 - github.com/go-co-op/gocron v1.13.0 github.com/go-critic/go-critic v0.6.2 github.com/golang-jwt/jwt/v4 v4.4.2 github.com/google/uuid v1.3.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.10.3 + github.com/robfig/cron/v3 v3.0.1 github.com/sirupsen/logrus v1.8.1 github.com/spf13/viper v1.12.0 github.com/stretchr/testify v1.7.2 @@ -55,7 +55,6 @@ require ( github.com/quasilyte/go-ruleguard v0.3.15 // indirect github.com/quasilyte/gogrep v0.0.0-20220103110004-ffaa07af02e3 // indirect github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 // indirect - github.com/robfig/cron/v3 v3.0.1 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/spf13/afero v1.8.2 // indirect github.com/spf13/cast v1.5.0 // indirect @@ -69,7 +68,6 @@ require ( go.uber.org/zap v1.21.0 // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect golang.org/x/net v0.0.0-20220722155237-a158d28d115b // indirect - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect golang.org/x/text v0.3.7 // indirect diff --git a/go.sum b/go.sum index 6a8bf00..3f455c4 100644 --- a/go.sum +++ b/go.sum @@ -75,8 +75,6 @@ github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmV github.com/fzipp/gocyclo v0.5.0 h1:jMgQATRpq/msyXdnO36+sOEDhQ4EWJDta3RIGA9GRqA= github.com/fzipp/gocyclo v0.5.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-co-op/gocron v1.13.0 h1:BjkuNImPy5NuIPEifhWItFG7pYyr27cyjS6BN9w/D4c= -github.com/go-co-op/gocron v1.13.0/go.mod h1:GD5EIEly1YNW+LovFVx5dzbYVcIc8544K99D8UVRpGo= github.com/go-critic/go-critic v0.6.2 h1:L5SDut1N4ZfsWZY0sH4DCrsHLHnhuuWak2wa165t9gs= github.com/go-critic/go-critic v0.6.2/go.mod h1:td1s27kfmLpe5G/DPjlnFI7o1UCzePptwU7Az0V5iCM= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -396,8 +394,6 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/internal/updatecheck/updateCheck.go b/internal/updatecheck/updateCheck.go index 4576750..43cb9d8 100644 --- a/internal/updatecheck/updateCheck.go +++ b/internal/updatecheck/updateCheck.go @@ -5,14 +5,13 @@ import ( "encoding/json" "errors" config "github.com/OliveTin/OliveTin/internal/config" - "github.com/go-co-op/gocron" "github.com/google/uuid" + "github.com/robfig/cron/v3" log "github.com/sirupsen/logrus" "io/ioutil" "net/http" "os" "runtime" - "time" ) type updateRequest struct { @@ -91,13 +90,19 @@ func StartUpdateChecker(currentVersion string, currentCommit string, cfg *config InContainer: isInContainer(), } - s := gocron.NewScheduler(time.UTC) + s := cron.New(cron.WithSeconds()) - s.Every(7).Days().Do(func() { + // Several values have been tried here. + // 1st: Every 24h - very spammy. + // 2nd: Every 7d - (168 hours - much more reasonable, but it checks in at the same time/day each week. + // Current: Every 100h is not so spammy, and has the advantage that the checkin time "shifts" hours. + s.AddFunc("@every 100h", func() { actualCheckForUpdate(payload) }) + + go actualCheckForUpdate(payload) // On startup - s.StartAsync() + go s.Start() } func doRequest(jsonUpdateRequest []byte) string {