23c38cbf11
This commit introduces the following changes: 1. Introduce the `SignalTrapLogger` singleton which starts a single thread that polls a queue to log messages with the specified logger. This thread is necessary becasue most loggers cannot be used inside the `Signal.trap` context as they rely on mutexes which are not allowed within the context. 2. Moves the monkey patch in `freedom_patches/unicorn_http_server_patch.rb` to `config/unicorn.config.rb` which is already monkey patching `Unicorn::HttpServer`. 3. `Unicorn::HttpServer` will now automatically send a `USR2` signal to a unicorn worker 2 seconds before the worker is timed out by the Unicorn master. 4. When a Unicorn worker receives a `USR2` signal, it will now log only the main thread's backtraces to `Rails.logger`. Previously, it was `put`ing the backtraces to `STDOUT` which most people wouldn't read. Logging it via `Rails.logger` will make the backtraces easily accessible via `/logs`. |
||
---|---|---|
.. | ||
active_record_attribute_methods.rb | ||
ams_include_without_root.rb | ||
copy_file.rb | ||
cose_rsapkcs1.rb | ||
fast_pluck.rb | ||
inflector_backport.rb | ||
ip_addr.rb | ||
mail_disable_starttls.rb | ||
rails4.rb | ||
rails_multisite.rb | ||
safe_buffer.rb | ||
safe_migrations.rb | ||
schema_migration_details.rb | ||
sprockets_patches.rb | ||
translate_accelerator.rb | ||
web_push_request.rb |