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
2019-07-02 00:34:38 +02:00
..
activitypub Add support for Audio activities (#11189) 2019-06-26 19:32:36 +02:00
connection_pool Add request pool to improve delivery performance (#10353) 2019-07-02 00:34:38 +02:00
ostatus Change domain blocks to automatically support subdomains (#11138) 2019-06-22 00:13:10 +02:00
proof_provider Default to the web domain (eg. mastodon.lubar.me) instead of the local domain (eg. lubar.me) for keybase proofs (#10565) 2019-04-21 04:53:24 +02:00
settings Remove intermediary arrays when creating hash maps from results (#9291) 2018-11-16 15:02:18 +01:00
activity_tracker.rb Create Redisable#redis (#9633) 2019-02-02 19:11:38 +01:00
application_extension.rb
delivery_failure_tracker.rb
entity_cache.rb Remove intermediary arrays when creating hash maps from results (#9291) 2018-11-16 15:02:18 +01:00
exceptions.rb
extractor.rb
fast_geometry_parser.rb
feed_manager.rb Apply filters to poll options (#11174) 2019-06-25 14:45:14 +02:00
formatter.rb Minor performance improvements and cleanup in formatter (#10765) 2019-05-15 06:54:06 +02:00
hash_object.rb
inline_renderer.rb Add conversations API (#8832) 2018-10-07 23:44:58 +02:00
language_detector.rb Change language detector threshold from 140 characters to 4 words (#10376) 2019-03-26 01:23:59 +01:00
potential_friendship_tracker.rb Create Redisable#redis (#9633) 2019-02-02 19:11:38 +01:00
proof_provider.rb Add Keybase integration (#10297) 2019-03-18 21:00:55 +01:00
request.rb Add request pool to improve delivery performance (#10353) 2019-07-02 00:34:38 +02:00
request_pool.rb Add request pool to improve delivery performance (#10353) 2019-07-02 00:34:38 +02:00
rss_builder.rb Add RSS feeds for end-users (#7259) 2018-04-25 02:10:02 +02:00
sanitize_config.rb Fix sanitizer making block level elements unreadable (#10836) 2019-06-16 21:46:36 +02:00
sidekiq_error_handler.rb
status_filter.rb Fix n+1 queries in StatusThreadingConcern (#7321) 2018-05-03 10:41:58 +02:00
status_finder.rb
tag_manager.rb
themes.rb
user_settings_decorator.rb Add option to disable blurhash previews (#11188) 2019-06-26 19:33:04 +02:00
webfinger_resource.rb