Commit Graph

6 Commits

Author SHA1 Message Date
Diego Heras aca4a16bae
ci/cd: fix whitespaces (#11749) 2021-05-16 20:13:54 +02:00
Diego Heras 69125add3e
core: redo search cache from scratch. resolves #10382 (#10447)
In simple words, when you make a request in Jackett, the results are saved in memory (cache). The next request will return results form the cache improving response time and making fewer requests to the sites.
* We assume all indexers/sites are stateless, the same request return the same response. If you change the search term, categories or something in the query Jackett has to make a live request to the indexer.
* There are some situations when we don't want to use the cache:
** When we are testing the indexers => if query.IsTest results are not cached
** When the user updates the configuration of one indexer => We call CleanIndexerCache to remove cached results before testing the configuration
** When there is some error/exception in the indexer => The results are not cached so we can retry in the next request
* We want to limit the memory usage, so we try to remove elements from cache ASAP:
** Each indexer can have a maximum number of results in memory. If the limit is exceeded we remove old results
** Cached results expire after some time
* Users can configure the cache or even disable it
2020-12-11 23:14:21 +01:00
Diego Heras 14fdea164c
core: generate magnet link from infohash and vice versa. resolves #8590 (#10087)
* global list of public trackers
* infohash => magnet link (only in public trackers)
* magnet link => infohash
2020-11-02 17:43:13 +01:00
Diego Heras 6413ad8fd4
core: refactor results post processing: filter and fixing results (#10082) 2020-11-02 14:20:13 +01:00
Diego Heras b63519b64b
core: add category filter tests (#10024) 2020-10-31 01:51:19 +01:00
Diego Heras 15ea7ed9f9
core: rearrange test classes (#10023) 2020-10-31 01:12:35 +01:00