Commit Graph

18 Commits

Author SHA1 Message Date
Diego Heras f8d3781f7a
core: search cache optimizations #10382 (#10484)
* Empty cache when user changes proxy configuration
* Reduce the CPU needed to clean up results that exceed the limit per indexer
2020-12-12 18:44:08 +01:00
Diego Heras 0e12f35082
core: remove legacy cryptographic code. #10433 (#10477)
Legacy code was deprecated on May 30, 2018
e73ae99e38
2020-12-12 01:09:52 +01: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 af9224ccbe
core: improve updater to detect errors. resolves #8631 (#8661) 2020-05-16 11:43:42 +12:00
Diego Heras 1c60b9daaf
core: allow to rename indexer id (part 3 #8355) (#8612) 2020-05-12 21:58:48 +02:00
Diego Heras 484cc35577
core: remove unused imports (#8022) 2020-04-04 19:56:18 +13:00
Cory fc74b9ebcf
core: Remove non-null extention classes. (#7979) 2020-04-03 13:31:39 +13:00
Cory 98541ac6f8
core: Sort and remove usings (#7159) 2020-02-10 07:08:34 +13:00
Cory c12da520a4
Run dotnet format on solution (#7145) 2020-02-09 15:35:16 +13:00
flightlevel 0d4c8ba860 Inform users that Mono is no longer needed
Note: Not enabled currently, will enable at a later date
2019-04-27 20:59:33 +10:00
flightlevel a25f2016dc Make Mono.Posix usage conditional on .NET Core 2019-03-06 21:16:20 +11:00
flightlevel 6ac9555cb5 Make parameter type HttpRequest
Code tidy
2019-03-06 20:11:50 +11:00
flightlevel cf3848a54f .NET Core preparation: Access ServerConfig without using JackettModule 2018-06-17 11:48:59 +10:00
flightlevel ac5af81344
.NET Core preparation (#3177)
The DPAPI won't be present, will be using AspNetCore DataProtection
instead
2018-05-30 21:28:20 +10:00
flightlevel 42beb6018e
DotNet Core preparation (#3046)
.NET core uses HttpRequest instead of HttpRequestMessage
2018-05-01 21:06:18 +10:00
flightlevel 3e5e48c3a0
Change namespace to Jackett.Common (#2691)
Really hope I don't break anything with this
Went to have a go at .NET core and it just became too confusing for me with 'Jackett' namespace referring to both Jackett.Common and Jackett
2018-03-10 19:05:56 +11:00
kaso17 a6b5401c0b add support for magnet file download links 2017-11-09 13:28:15 +01:00
Nathan Holland 571c52a0f2 Feature/netcore preparation (#2072)
* Use platform detection that works on mono 4.6+

* Move to use package reference for restoring nuget packages.

* DateTimeRoutines does not have Nuget packages that support .NET Standard (and therefore .NET Core). We will have to include them for now until we can get rid of this dependency.

* Start spliting some interfaces into their own files - this will help by allowing us to split them out in the future into a seperate project so the actual implementations can stay within their respective architectures when required

* Move out common libraries

* Few more tidy up tasks to get things working with .NET Standard

* Restructure the solution layout

* Encoding work to reduce rework later on platforms without Windows codepages (or require compliance with RFC1345)

* Move folder structure around to have more natural layout of the solutions

* DI server configuration to get rid of "temporary" hack and dependency circle for serverservice

* Make all encoding consistent to match the expected encoding casing for earlier versions of mono.
2017-11-05 20:42:03 +11:00