diff --git a/cmd/main/main.go b/cmd/main/main.go index b83ddeb..6350620 100644 --- a/cmd/main/main.go +++ b/cmd/main/main.go @@ -1,7 +1,6 @@ package main import ( - "github.com/alexflint/go-arg" "log" "os" "path/filepath" @@ -9,16 +8,21 @@ import ( "torrsru/global" "torrsru/tgbot" "torrsru/web" + + "github.com/alexflint/go-arg" ) func main() { var args struct { - Port string `default:"8094" arg:"-p" help:"port for http"` RebuildIndex bool `default:"false" arg:"-r" help:"rebuild index and exit"` - TMDBProxy bool `default:"false" arg:"--tmdb" help:"proxy for TMDB"` - TGBotToken string `default:"" arg:"--token" help:"telegram bot token"` - TGHost string `default:"http://127.0.0.1:8081" arg:"--tgapi" help:"telegram api host"` - TSHost string `default:"http://127.0.0.1:8090" arg:"--ts" help:"TorrServer host"` + TMDBProxy bool `default:"false" arg:"--tmdb,env:TMDB_PROXY" help:"proxy for TMDB"` + Port string `default:"8094" arg:"-p,env:PORT" help:"port for http"` + TGBotToken string `default:"" arg:"--token,env:TG_TOKEN" help:"telegram bot token"` + TGHost string `default:"http://127.0.0.1:8081" arg:"--tgapi,env:TG_HOST" help:"telegram api host"` + TSHost string `default:"http://127.0.0.1:8090" arg:"--ts,env:TS_HOST" help:"TorrServer host"` + DBHost string `default:"http://62.112.8.193:9117" arg:"--db,env:DB_HOST" help:"External sync database host"` + DBSync int `default:"20" arg:"--db-sync,env:DB_SYNC" help:"External database sync delay"` + DBSyncRetry int `default:"10" arg:"--db-sync-retry,env:DB_SYNC_RETRY" help:"External database sync retry"` } arg.MustParse(&args) @@ -30,6 +34,10 @@ func main() { global.TMDBProxy = args.TMDBProxy global.TSHost = args.TSHost + global.DBHost = args.DBHost + global.DBSync = args.DBSync + global.DBSyncRetry = args.DBSyncRetry + db.Init() if args.RebuildIndex { diff --git a/db/dbsync.go b/db/dbsync.go index 44d490a..fa821f4 100644 --- a/db/dbsync.go +++ b/db/dbsync.go @@ -22,11 +22,13 @@ var ( func StartSync() { for !global.Stopped { syncDB() - time.Sleep(time.Minute * 20) + time.Sleep(time.Minute * time.Duration(global.DBSync)) } } func syncDB() { + log.Println("Starting datbase sync from:", global.DBHost) + mu.Lock() if isSync { mu.Unlock() @@ -44,11 +46,11 @@ func syncDB() { ftstr := strconv.FormatInt(filetime, 10) t := time.Unix(ft2sec(filetime), 0) log.Println("Fetch:", t.Format("2006-01-02 15:04:05")) - resp, err := http.Get("http://62.112.8.193:9117/sync/fdb/torrents?time=" + ftstr) + resp, err := http.Get(global.DBHost + "/sync/fdb/torrents?time=" + ftstr) if err != nil { - log.Println("Error connect to fdb:", err) - log.Println("Waiting 10 minutes before retrying...") - time.Sleep(time.Minute * 10) + log.Printf("Error connect to fdb(%s): %s\n", global.DBHost, err) + log.Printf("Waiting %d minutes before retrying...\n", global.DBSyncRetry) + time.Sleep(time.Minute * time.Duration(global.DBSync)) continue } diff --git a/global/global.go b/global/global.go index d7cb7bf..0e811c4 100644 --- a/global/global.go +++ b/global/global.go @@ -9,5 +9,9 @@ var ( TMDBProxy = false TSHost = "" + DBHost = "" + DBSync = 20 + DBSyncRetry = 10 + SendFromWeb func(initData, msg string) error ) diff --git a/web/static/route.go b/web/static/route.go index 6151b9e..f8155d1 100644 --- a/web/static/route.go +++ b/web/static/route.go @@ -40,7 +40,7 @@ func RouteStaticFiles(route *gin.Engine) { etag := fmt.Sprintf("%x", md5.Sum(Filesimgbrowserconfigxml)) c.Header("Cache-Control", "public, max-age=31536000") c.Header("ETag", etag) - c.Data(200, "application/xml; charset=utf-8", Filesimgbrowserconfigxml) + c.Data(200, "text/xml; charset=utf-8", Filesimgbrowserconfigxml) }) route.GET("/img/copy.svg", func(c *gin.Context) {