Comments (2)
Is there a reason it should? Are you seeing a problem that would be solved by doing so?
from puma.
Technically it should allow to bind to port even when it is in TIME_WAIT
state what might happen because of crash or killed process. EventMachine mentions in its code comments that it helps with unexpected restarts. Otherwise there are problems with binding again for some time.
I also use Puma for testing communication with external application and Puma is started and shutdown in every acceptance test. The problem is that such quick on/off workout leaves the socket in TIME_WAIT
state and puma server (playing the role of external webservice) cannot start on the same port in subsequent tests. REUSEADDR
should fix that but as you can see from my gist it does not work well for me.
I had the same issue when using Webrick but it works fine on Thin (which uses EM which sets this option in C code directly instead of via Ruby code). I guess this option might not work at all in Ruby but it is also possible that I am doing something wrong. I was hoping that someone smarter could try to use it and tell me if it behaves correctly or not.
from puma.
Related Issues (20)
- Windows: puma_http11.so breaking when ruby folder is relocated HOT 16
- Reactor suddenly throws NoMethodError but can't find reason HOT 6
- `--idle-timeout` should not shut down entire cluster if any single worker is idle HOT 1
- Puma responds with a 501 Server Error when a client sends invalid HTTP methods HOT 6
- Listen for HTTP and HTTPS on the same port, redirecting clients to HTTPS for easier local development HOT 4
- require puma/dsl not on the top HOT 2
- Phased restart & symlinks doesn't change destination folder? HOT 3
- Allow alternative schemes in Binder
- Support Ruby 3.3's `Process.warmup` before fork HOT 14
- Error responses written twice HOT 1
- Specify multiple licences in the gemspec? HOT 17
- Puma cluster not reaping child processes when PID is 1 with Puma 6.4.1 HOT 18
- High latency on puma HOT 2
- Puma and Puma Dev Linux issue
- Phased-Restart Causes Action Cable Connection Loss on Rails App Restart HOT 3
- Add a hook for "before shutdown" HOT 6
- Systemd watchdog kills puma during hot restart. HOT 4
- NoMethodError: undefined method `release' for Rack:Module error at "rails s" initialization time HOT 5
- Staging environment, request.ENV['HTTP_HOST'] displays 2 urls when it should be a single url HOT 1
- HttpParserError raised when body (chunk) exceeds 4096 bytes does not end with "\r\n" HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from puma.