This is a simple example demonstrating when Thin seems to be defaulting to 30 seconds and when it does not.
Launch the app indirectly:
bundle exec ruby web.rb
In a separate shell, run:
curl http://localhost:4567
You should see:
curl: (52) Empty reply from server
Launch thin directly:
bundle exec rackup -I .
In a separate shell, run:
curl http://localhost:9292
You should see:
made it