Comments (5)
Also this is not possible to do on the front side nor would it be comparable - Apache cannot differentiate between long requests over slow links and requests that block the worker.
from waitress.
I don't think that waitress is the right place to do this. I would highly recommend using some sort of reverse proxy in front of waitress that is better design to deal with such scenarios.
from waitress.
The reverse proxy would not be in Python, thus much harder to implement.
from waitress.
http://opensource.adnovum.ch/mod_qos/ implements this, so it's a simple config flag for Apache.
from waitress.
Waitress specifically works like this: "When a channel determines the client has sent at least one full valid HTTP request, it schedules a “task” with a “thread dispatcher”. The thread dispatcher maintains a fixed pool of worker threads available to do client work (by default, 4 threads). If a worker thread is available when a task is scheduled, the worker thread runs the task. The task has access to the channel, and can write back to the channel’s output buffer. When all worker threads are in use, scheduled tasks will wait in a queue for a worker thread to become available." Thus it would be just a matter of being allowed to configure a queueing policy where the supplied default works like now.
from waitress.
Related Issues (20)
- HTTP allowed methods are not be configured in waitress HOT 3
- Support VSOCK sockets
- Waitress thread does not respect daemon property. HOT 1
- waitress-servce consume 100% cpu HOT 2
- File not found from waitress\wasyncore.py HOT 3
- Error: No such option --listen HOT 7
- clarity on client_disconnected usage HOT 1
- Via header cannot be removed if the application sets the Server header HOT 7
- 100% cpu in mainthread due to not closing properly? (channel.connected == False) HOT 94
- backlog parameter not working HOT 2
- Receive error 413 Request entity is too large HOT 3
- Warning 434 HTTPTooManyRequests HOT 1
- IIS configuration as reverse proxy HOT 1
- Errors while deploying on an IIS Server HOT 1
- Broken connections with many concurrent `HEAD` requests HOT 3
- IIS Deploy Django App, python.exe error HOT 1
- `\xa0` and `\x85` are stripped from the ends of header values HOT 1
- [Question] Waitress and Flask (Werkzeug) ProxyFix interaction HOT 5
- Waitress launches two instances when run HOT 1
- Make MODULE:APP non-positional (but still required) argument HOT 9
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 waitress.