From 17719f2bebb2260677b52b16708b42ec9fc399f1 Mon Sep 17 00:00:00 2001 From: Ian Clark Date: Fri, 6 May 2016 23:18:23 -0500 Subject: [PATCH] Issue #121 (#127) ADD: - reaper/reaper.go:StartReapingScheduler() Now handles adding whitelisted torrents to the Redis tracker every minute. REMOVE: - main.go:Init() No longer handles adding whitelisted torrents. --- main.go | 18 +----------------- reaper/reaper.go | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/main.go b/main.go index c713eff..aa51eb4 100644 --- a/main.go +++ b/main.go @@ -14,26 +14,10 @@ func Init() { } db.InitDB(dbConn) - c := server.OpenClient() - _, err = c.Ping().Result() - if err != nil { - panic("No Redis instance detected. If deploying without Docker, install redis-server") - } - - infoHash := new(string) - name := new(string) - addedBy := new(string) - dateAdded := new(int64) - - x, err := db.GetWhitelistedTorrents() - for x.Next() { - x.Scan(infoHash, name, addedBy, dateAdded) - server.CreateNewTorrentKey(c, *infoHash) - } + go reaper.StartReapingScheduler(1 * time.Minute) } func main() { Init() - go reaper.StartReapingScheduler(5 * time.Minute) server.RunServer() } diff --git a/reaper/reaper.go b/reaper/reaper.go index e056c85..bab1933 100644 --- a/reaper/reaper.go +++ b/reaper/reaper.go @@ -3,6 +3,8 @@ package reaper import ( "fmt" "gopkg.in/redis.v3" + "github.com/GrappigPanda/notorious/database" + "github.com/GrappigPanda/notorious/server" "strconv" "strings" "time" @@ -69,6 +71,25 @@ func StartReapingScheduler(waitTime time.Duration) { reapedPeers := 0 go func() { for { + // Handle any other cleanup or Notorious-related functions + c := server.OpenClient() + _, err := c.Ping().Result() + if err != nil { + panic("No Redis instance detected. If deploying without Docker, install redis-server") + } + + infoHash := new(string) + name := new(string) + addedBy := new(string) + dateAdded := new(int64) + + x, err := db.GetWhitelistedTorrents() + for x.Next() { + x.Scan(infoHash, name, addedBy, dateAdded) + server.CreateNewTorrentKey(c, *infoHash) + } + + // Start the actual peer reaper. time.Sleep(waitTime) fmt.Println("Starting peer reaper") reapedPeers += reapPeers()