You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mastodon/app/lib
Eugen Rochko 0d9ffe56fb
Add request pool to improve delivery performance (#10353)
* Add request pool to improve delivery performance

Fix #7909

* Ensure connection is closed when exception interrupts execution

* Remove Timeout#timeout from socket connection

* Fix infinite retrial loop on HTTP::ConnectionError

* Close sockets on failure, reduce idle time to 90 seconds

* Add MAX_REQUEST_POOL_SIZE option to limit concurrent connections to the same server

* Use a shared pool size, 512 by default, to stay below open file limit

* Add some tests

* Add more tests

* Reduce MAX_IDLE_TIME from 90 to 30 seconds, reap every 30 seconds

* Use a shared pool that returns preferred connection but re-purposes other ones when needed

* Fix wrong connection being returned on subsequent calls within the same thread

* Reduce mutex calls on flushes from 2 to 1 and add test for reaping
6 years ago
..
activitypub Add support for Audio activities (#11189) 6 years ago
connection_pool Add request pool to improve delivery performance (#10353) 6 years ago
ostatus Change domain blocks to automatically support subdomains (#11138) 6 years ago
proof_provider Default to the web domain (eg. mastodon.lubar.me) instead of the local domain (eg. lubar.me) for keybase proofs (#10565) 6 years ago
settings Remove intermediary arrays when creating hash maps from results (#9291) 7 years ago
activity_tracker.rb Create Redisable#redis (#9633) 6 years ago
application_extension.rb Conditional validations no longer accept strings for if/unless (#3124) 8 years ago
delivery_failure_tracker.rb After 7 days of repeated delivery failures, give up on inbox (#5131) 8 years ago
entity_cache.rb Remove intermediary arrays when creating hash maps from results (#9291) 7 years ago
exceptions.rb Detect and prevent image bombs, max. processable dimension 4096^2 (#7229) 7 years ago
extractor.rb Using double splat operator (#5859) 7 years ago
fast_geometry_parser.rb Fix avatar and header issues by using custom geometry detector (#6515) 7 years ago
feed_manager.rb Apply filters to poll options (#11174) 6 years ago
formatter.rb Minor performance improvements and cleanup in formatter (#10765) 6 years ago
hash_object.rb Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings 8 years ago
inline_renderer.rb Add conversations API (#8832) 7 years ago
language_detector.rb Change language detector threshold from 140 characters to 4 words (#10376) 6 years ago
potential_friendship_tracker.rb Create Redisable#redis (#9633) 6 years ago
proof_provider.rb Add Keybase integration (#10297) 6 years ago
request.rb Add request pool to improve delivery performance (#10353) 6 years ago
request_pool.rb Add request pool to improve delivery performance (#10353) 6 years ago
rss_builder.rb Add RSS feeds for end-users (#7259) 7 years ago
sanitize_config.rb Fix sanitizer making block level elements unreadable (#10836) 6 years ago
sidekiq_error_handler.rb Raise Mastodon::HostValidationError when host for HTTP request is private (#6410) 7 years ago
status_filter.rb Fix n+1 queries in StatusThreadingConcern (#7321) 7 years ago
status_finder.rb Raise an error for remote url in StatusFinder (#4776) 8 years ago
tag_manager.rb Introduce OStatus::TagManager (#5008) 8 years ago
themes.rb Add support for multiple themes (#4959) 8 years ago
user_settings_decorator.rb Add option to disable blurhash previews (#11188) 6 years ago
webfinger_resource.rb Allow webfinger controller to reply to user@WEB_DOMAIN in addition to user@LOCAL_DOMAIN (#2351) 8 years ago