Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #364 from Pylons/feature/flush-from-app-threadmaster | Michael Merickel | 2022-01-17 | 2 | -19/+122 |
|\ | | | | | Flush data from the application thread | ||||
| * | Flush data from the application thread | Bert JW Regeer | 2022-01-17 | 2 | -19/+122 |
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | To speed up how soon the connected client sees data we now attempt to flush data from the application thread when we get new data to write to the socket. This saves us the need to wake up the main thread, which would then return from select(), process all sockets, look for the ones that are writable, and then call select() again. When that select() would return it would finally start writing data to the remote socket. There was also no gaurantee that the main thread would get the lock for the output buffers, and it would not be able to write any data at all thereby looping on select() until the application thread had written enough data to the buffers for it to hit the high water mark, or the response was fully buffered, potentially overflowing from memory buffers to disk. If the socket is not ready for data, due it being non-blocking, we will not flush any data at all, and will go notify/wake up the main thread to start sending the data when the socket is ready. Delivery of first byte from the WSGI application to the remote client is now faster, and it may alleviate buffer pressure. Especially if the remote client is connected over localhost, as is the case with a load balancer in front of waitress. | ||||
* | CHANGES.txt line length | Bert JW Regeer | 2022-01-17 | 1 | -3/+3 |
| | |||||
* | Merge pull request #363 from Pylons/bugfix/wsgi-file-wrapper | Michael Merickel | 2022-01-17 | 3 | -0/+21 |
|\ | | | | | Bugfix: wsgi.file_wrapper should pass-through seek/tell attrs | ||||
| * | Add CHANGELOG for wsgi.file_wrapper seek/tell attrs | Bert JW Regeer | 2022-01-17 | 1 | -0/+7 |
| | | |||||
| * | Add support for seekable wsgi.file_wrapper | Bert JW Regeer | 2022-01-17 | 1 | -0/+10 |
| | | |||||
| * | Add tests to validate wsgi.file_wrapper seek/tell are added | Bert JW Regeer | 2022-01-17 | 1 | -0/+4 |
|/ | |||||
* | Merge pull request #362 from Pylons/garden/update-supported-python-versions | Michael Merickel | 2022-01-17 | 7 | -42/+54 |
|\ | | | | | Garden: update supported python versions | ||||
| * | Join the queue thread after closing it in tests | Bert JW Regeer | 2022-01-17 | 1 | -1/+3 |
| | | |||||
| * | Disable coverage on pypy3 | Bert JW Regeer | 2022-01-17 | 1 | -1/+4 |
| | | |||||
| * | Call gc.collect() cause these tests leak file descriptors | Bert JW Regeer | 2022-01-17 | 1 | -0/+9 |
| | | |||||
| * | Bind to localhost only during tests | Bert JW Regeer | 2022-01-17 | 1 | -0/+1 |
| | | |||||
| * | Update supported Python versions for Waitress | Bert JW Regeer | 2022-01-17 | 6 | -42/+39 |
|/ | |||||
* | Merge pull request #361 from Pylons/bugfix/winerror-windows | Michael Merickel | 2022-01-17 | 2 | -1/+7 |
|\ | | | | | Bugfix on Windows: OSError is not subscriptable | ||||
| * | Update CHANGELOG for OSError subscriptable bugfix in Windows | Bert JW Regeer | 2022-01-17 | 1 | -0/+6 |
| | | |||||
| * | Bugfix on Windows: OSError is not subscriptable | Bert JW Regeer | 2022-01-17 | 1 | -1/+1 |
|/ | | | | | | | | | | | When Waitress fails to launch on Windows due to an issue with the trigger socket not being ready for connections, we attempt to loop. In the past this was done by subscripting the OSError and checking to see if it matched errno.WSAEADDRINUSE, this is no longer possible in newer verisons of Python. This is a quick bugfix for a rare case which should no longer happen on Windows. | ||||
* | Merge pull request #360 from Pylons/cleanup/use-with-statement-makefile | Michael Merickel | 2022-01-17 | 1 | -596/+595 |
|\ | | | | | Cleanup: use with statement for makefile | ||||
| * | Use with statements for makefilecleanup/use-with-statement-makefile | Bert JW Regeer | 2022-01-16 | 1 | -596/+595 |
| | | | | | | | | This way the file descriptor is automatically closed | ||||
* | | Merge pull request #358 from Pylons/bugfix/close-buffer | Michael Merickel | 2022-01-17 | 5 | -10/+34 |
|\ \ | |/ | | | Close old buffer when overflowing in OverflowableBuffer | ||||
| * | Update CHANGES.txtbugfix/close-buffer | Bert JW Regeer | 2022-01-16 | 1 | -0/+16 |
| | | |||||
| * | black: Fix whitespace | Bert JW Regeer | 2022-01-16 | 2 | -2/+0 |
| | | |||||
| * | Update test matrix for Python versions | Bert JW Regeer | 2022-01-16 | 1 | -6/+4 |
| | | |||||
| * | Close old buffer when overflowing in OverflowableBuffer | Bert JW Regeer | 2022-01-16 | 1 | -2/+14 |
|/ | | | | | | | When switching from a BytesIO to a file backed buffer, we were not closing the old buffer after we had copied its contents. With this change when we switch from a small buffer to a larger buffer or vice-versa we will now attempt to close the old buffer. | ||||
* | Merge pull request #352 from franciozzy/runner-fix-help | Steve Piercy | 2021-09-08 | 1 | -1/+1 |
|\ | | | | | runner: Fix alignment of --url-prefix | ||||
| * | runner: Fix alignment of --url-prefix | Felipe Franciosi | 2021-09-08 | 1 | -1/+1 |
|/ | | | | | | The help message contained a misaligned option. This fixes it. Signed-off-by: Felipe Franciosi <felipe@nutanix.com> | ||||
* | Merge pull request #344 from hathawsh/add-remote-uri | Bert JW Regeer | 2021-05-15 | 6 | -2/+22 |
|\ | | | | | Add REQUEST_URI | ||||
| * | black | Shane Hathaway | 2021-05-11 | 1 | -2/+2 |
| | | |||||
| * | Correct REQUEST_URI in CHANGES.txt | Shane Hathaway | 2021-05-11 | 1 | -2/+2 |
| | | |||||
| * | Add REMOTE_URI to the WSGI environ. | Shane Hathaway | 2021-05-11 | 5 | -0/+20 |
|/ | | | | CHANGES.txt entry included. | ||||
* | Prep 2.0.0v2.0.0 | Bert JW Regeer | 2021-03-07 | 2 | -7/+24 |
| | |||||
* | Prep 2.0.0b1v2.0.0b1 | Bert JW Regeer | 2020-11-29 | 2 | -3/+3 |
| | |||||
* | Merge pull request #332 from Pylons/fix-default-logging | Bert JW Regeer | 2020-11-29 | 3 | -2/+19 |
|\ | | | | | fix a crash in the MultiSocketServer startup and re-enable startup messages | ||||
| * | add changelog for #332 | Michael Merickel | 2020-11-29 | 1 | -0/+6 |
| | | |||||
| * | fix a crash in the MultiSocketServer startup and re-enable startup messages | Michael Merickel | 2020-11-29 | 2 | -2/+13 |
|/ | |||||
* | Prep 2.0.0b0v2.0.0b0 | Bert JW Regeer | 2020-11-26 | 2 | -3/+3 |
| | |||||
* | Move CHANGES to HISTORY | Bert JW Regeer | 2020-11-26 | 2 | -167/+167 |
| | |||||
* | Merge pull request #329 from Pylons/cleanup/server-name | Bert JW Regeer | 2020-11-26 | 5 | -83/+41 |
|\ | | | | | Cleanup: Server Name deduction logic | ||||
| * | Add changelog entry for server_name | Bert JW Regeer | 2020-11-26 | 1 | -3/+12 |
| | | |||||
| * | Add documentation for server_name | Bert JW Regeer | 2020-11-26 | 1 | -0/+17 |
| | | |||||
| * | Remove attempt to resolve IP address to server_name | Bert JW Regeer | 2020-11-26 | 2 | -80/+6 |
| | | | | | | | | Instead we just rely on the server_name passed in to the adjustment. | ||||
| * | Add new adjustment named server_name | Bert JW Regeer | 2020-11-26 | 1 | -0/+6 |
|/ | |||||
* | Missed dropping Py27 in docs | Bert JW Regeer | 2020-11-26 | 1 | -2/+2 |
| | |||||
* | Merge pull request #328 from Pylons/drop-py35-add-py39 | Bert JW Regeer | 2020-11-26 | 5 | -11/+10 |
|\ | | | | | Drop Python 3.5 support from Waitress add Py3.9 | ||||
| * | Drop Python 3.5 support from Waitress add Py3.9 | Bert JW Regeer | 2020-11-26 | 5 | -11/+10 |
|/ | |||||
* | Merge pull request #327 from Pylons/speedup-test-suite | Michael Merickel | 2020-11-26 | 1 | -1/+7 |
|\ | | | | | If we are not on Windows use fork for multiprocessing | ||||
| * | If we are not on Windows use fork for multiprocessingspeedup-test-suite | Bert JW Regeer | 2020-11-26 | 1 | -1/+7 |
|/ | | | | | This speeds up the test suite significantly by reducing the overhead of spawning a new process. | ||||
* | Merge pull request #310 from perfact/notify-client-close | Bert JW Regeer | 2020-10-31 | 7 | -133/+340 |
|\ | | | | | Notify client close | ||||
| * | Allow tasks to notice if client disconnected | Viktor Dick | 2020-10-25 | 7 | -133/+340 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | This inserts a callable `waitress.client_disconnected` into the environment that allows the task to check if the client disconnected while waiting for the response at strategic points in the execution, allowing to cancel the operation. It requires setting the new adjustment `channel_request_lookahead` to a value larger than 0, which continues to read requests from a channel even if a request is already being processed on that channel, up to the given count, since a client disconnect is detected by reading from a readable socket and receiving an empty result. | ||||
* | | Merge pull request #322 from Pylons/connection-overflow-warning | Bert JW Regeer | 2020-10-30 | 3 | -1/+43 |
|\ \ | |/ |/| | warn when the server stops listening for connections because it's in overflow | ||||
| * | blackifyconnection-overflow-warning | Michael Merickel | 2020-10-22 | 1 | -4/+4 |
| | |