Skip to content

Commit 8c4ec62

Browse files
[PR #7518/8bd42e74 backport][3.8] Fix GunicornWebWorker max_requests_jitter not work (#7519)
**This is a backport of PR #7518 as merged into master (8bd42e7).** <!-- Thank you for your contribution! --> ## What do these changes do? <!-- Please give a short brief about these changes. --> `GunicornWebWorker` use `self.cfg.max_requests` which is not add jitter, from https://github.com/benoitc/gunicorn/blob/master/gunicorn/workers/base.py#L56-L60, the correct way is to use `sef.max_requests` ## Are there changes in behavior for the user? <!-- Outline any notable behaviour for the end users. --> After the PR is merged, the max-requests-jitter parameter of Gunicorn can take effect. ## Related issue number <!-- Are there any issues opened that will be resolved by merging this change? --> ## Checklist - [x] I think the code is well written - [x] Unit tests for the changes exist - [ ] Documentation reflects the changes - [ ] If you provide code modification, please add yourself to `CONTRIBUTORS.txt` * The format is &lt;Name&gt; &lt;Surname&gt;. * Please keep alphabetical order, the file is sorted by names. - [x] Add a new news fragment into the `CHANGES` folder * name it `<issue_id>.<type>` for example (588.bugfix) * if you don't have an `issue_id` change it to the pr id after creating the pr * ensure type is one of the following: * `.feature`: Signifying a new feature. * `.bugfix`: Signifying a bug fix. * `.doc`: Signifying a documentation improvement. * `.removal`: Signifying a deprecation or removal of public API. * `.misc`: A ticket has been closed, but it is not of interest to users. * Make sure to use full sentences with correct case and punctuation, for example: "Fix issue with non-ascii contents in doctest text files." Co-authored-by: phyng <[email protected]>
1 parent a0d234d commit 8c4ec62

File tree

3 files changed

+4
-3
lines changed

3 files changed

+4
-3
lines changed

CHANGES/7518.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix GunicornWebWorker max_requests_jitter not work

aiohttp/worker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ async def _run(self) -> None:
114114
self.notify()
115115

116116
cnt = server.requests_count
117-
if self.cfg.max_requests and cnt > self.cfg.max_requests:
117+
if self.max_requests and cnt > self.max_requests:
118118
self.alive = False
119119
self.log.info("Max requests, shutting down: %s", self)
120120

tests/test_worker.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,8 @@ async def test__run_ok_parent_changed(worker, loop, aiohttp_unused_port) -> None
212212
worker.sockets = [sock]
213213
worker.log = mock.Mock()
214214
worker.loop = loop
215+
worker.max_requests = 0
215216
worker.cfg.access_log_format = ACCEPTABLE_LOG_FORMAT
216-
worker.cfg.max_requests = 0
217217
worker.cfg.is_ssl = False
218218

219219
await worker._run()
@@ -233,8 +233,8 @@ async def test__run_exc(worker, loop, aiohttp_unused_port) -> None:
233233
worker.sockets = [sock]
234234
worker.log = mock.Mock()
235235
worker.loop = loop
236+
worker.max_requests = 0
236237
worker.cfg.access_log_format = ACCEPTABLE_LOG_FORMAT
237-
worker.cfg.max_requests = 0
238238
worker.cfg.is_ssl = False
239239

240240
def raiser():

0 commit comments

Comments
 (0)