diff --git a/pkg/arr/refresh.go b/pkg/arr/refresh.go index 26b28d2..fbb0c3b 100644 --- a/pkg/arr/refresh.go +++ b/pkg/arr/refresh.go @@ -10,7 +10,11 @@ import ( ) func (a *Arr) Refresh() error { - payload := map[string]string{"name": "RefreshMonitoredDownloads"} + payload := struct { + Name string `json:"name"` + }{ + Name: "RefreshMonitoredDownloads", + } resp, err := a.Request(http.MethodPost, "api/v3/command", payload) if err == nil && resp != nil { @@ -19,7 +23,8 @@ func (a *Arr) Refresh() error { return nil } } - return fmt.Errorf("failed to refresh monitored downloads for %s", cmp.Or(a.Name, a.Host)) + + return fmt.Errorf("failed to refresh: %v(status: %s)", err, resp.Status) } func (a *Arr) Blacklist(infoHash string) error { diff --git a/pkg/qbit/torrent.go b/pkg/qbit/torrent.go index e539994..2867f4a 100644 --- a/pkg/qbit/torrent.go +++ b/pkg/qbit/torrent.go @@ -81,7 +81,9 @@ func (q *QBit) ProcessFiles(torrent *Torrent, debridTorrent *debrid.Torrent, arr q.logger.Error().Msgf("Error checking status: %v", err) go debridClient.DeleteTorrent(debridTorrent) q.MarkAsFailed(torrent) - _ = arr.Refresh() + if err := arr.Refresh(); err != nil { + q.logger.Error().Msgf("Error refreshing arr: %v", err) + } return } diff --git a/pkg/qbit/worker.go b/pkg/qbit/worker.go deleted file mode 100644 index 2d517be..0000000 --- a/pkg/qbit/worker.go +++ /dev/null @@ -1,39 +0,0 @@ -package qbit - -import ( - "context" - "github.com/sirrobot01/debrid-blackhole/pkg/service" - "time" -) - -func (q *QBit) StartWorker(ctx context.Context) { - q.logger.Info().Msg("Qbit Worker started") - q.StartRefreshWorker(ctx) -} - -func (q *QBit) StartRefreshWorker(ctx context.Context) { - refreshCtx := context.WithValue(ctx, "worker", "refresh") - refreshTicker := time.NewTicker(time.Duration(q.RefreshInterval) * time.Second) - for { - select { - case <-refreshCtx.Done(): - q.logger.Info().Msg("Qbit Refresh Worker stopped") - return - case <-refreshTicker.C: - torrents := q.Storage.GetAll("", "", nil) - if len(torrents) > 0 { - q.RefreshArrs() - } - } - } -} - -func (q *QBit) RefreshArrs() { - arrs := service.GetService().Arr - for _, arr := range arrs.GetAll() { - err := arr.Refresh() - if err != nil { - return - } - } -} diff --git a/pkg/worker/worker.go b/pkg/worker/worker.go index 03f199c..38e4a5b 100644 --- a/pkg/worker/worker.go +++ b/pkg/worker/worker.go @@ -30,13 +30,6 @@ func Start(ctx context.Context) error { // Start Arr Refresh Worker var wg sync.WaitGroup - - wg.Add(1) - go func() { - defer wg.Done() - arrRefreshWorker(ctx, cfg) - }() - wg.Add(1) go func() { defer wg.Done() @@ -46,23 +39,23 @@ func Start(ctx context.Context) error { return nil } -func arrRefreshWorker(ctx context.Context, cfg *config.Config) { - // Start Arr Refresh Worker - _logger := getLogger() - _logger.Debug().Msg("Refresh Worker started") - refreshCtx := context.WithValue(ctx, "worker", "refresh") - refreshTicker := time.NewTicker(time.Duration(cfg.QBitTorrent.RefreshInterval) * time.Second) - - for { - select { - case <-refreshCtx.Done(): - _logger.Debug().Msg("Refresh Worker stopped") - return - case <-refreshTicker.C: - refreshArrs() - } - } -} +//func arrRefreshWorker(ctx context.Context, cfg *config.Config) { +// // Start Arr Refresh Worker +// _logger := getLogger() +// _logger.Debug().Msg("Refresh Worker started") +// refreshCtx := context.WithValue(ctx, "worker", "refresh") +// refreshTicker := time.NewTicker(time.Duration(cfg.QBitTorrent.RefreshInterval) * time.Second) +// +// for { +// select { +// case <-refreshCtx.Done(): +// _logger.Debug().Msg("Refresh Worker stopped") +// return +// case <-refreshTicker.C: +// refreshArrs() +// } +// } +//} func cleanUpQueuesWorker(ctx context.Context, cfg *config.Config) { // Start Clean up Queues Worker