Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Graphe des révisions

10 commits

Auteur SHA1 Message Date
Ramon Dantas
f351c2b047 Store torrent FileList info as bencoded data. (#530)
Use this instead of joining with forward-slashes because it's possible
that a torrent uses "foo/bar" as a filename or part of the directory list.
2017-05-16 07:45:47 +10:00
ElegantMonkey
b9904161f0 Only show added message if actually added to queue 2017-05-14 21:21:04 -03:00
ElegantMonkey
3dced6fdf0 Use Mutex when modifying failedOperations, add exponential cooldown
Just to be safe, won't allow concurrent goroutines to modify the map.

The exponential cooldown prevents newer torrents with no seeds
blocking older ones with seeds, when there are enough failures that a
cooldown event would fill the queue with only failed torrents.
2017-05-14 19:30:56 -03:00
ElegantMonkey
a55cf2a803 Use NoCount version of GetTorrents
The normal GetTorrents version always called COUNT(*) on the query,
which consistently took around 300 ms. With the NoCount, the SELECT
queries take 5-50 ms.
2017-05-14 18:24:41 -03:00
ElegantMonkey
cae0026a67 Add fail cooldown
After a set cooldown, torrents that failed to be fetch will be able
to be fetched again. Set FailCooldown to -1 to disable.
2017-05-14 18:10:39 -03:00
ElegantMonkey
83de593a65 Exclude failed operations from query
Instead of loading more rows to compensate for failed operations,
exclude them at the query.
2017-05-14 16:47:48 -03:00
ElegantMonkey
58869114d7 Don't update Length if it hasn't changed 2017-05-14 12:21:49 -03:00
ElegantMonkey
7d8cbe1393 Add Upload and Download limiters, rely on unique_index for avoiding duplicates
The FileList that is read with GetTorrents is empty, as it's only loaded with
GetTorrentById. So, always insert the new FileList on the database, and rely on
the unique_index to avoid duplications.
2017-05-14 11:35:03 -03:00
ElegantMonkey
e1f1c9d0c3 Update MetainfoFetcher query logic
It used to update only torrents with NULL or 0 filesizes, setting
both their filesizes and the file lists. Now, it looks for both
NULL or 0 filesizes and empty file lists.
2017-05-14 09:05:20 -03:00
ElegantMonkey
2da2ad4214 FilesizeFetcher -> MetainfoFetcher 2017-05-14 08:20:34 -03:00