3106 Commits

Author SHA1 Message Date
yingjie
0215f5dc36 docs: add examples for cert-reqs 2021-08-26 22:41:12 +08:00
Hugo van Kemenade
45687c358c Replace deprecated unittest alias 2021-08-18 13:09:03 +03:00
Benoit Chesneau
1299ea9e96
Merge pull request #2581 from temoto/patch-1
eventlet worker: ALREADY_HANDLED -> WSGI_LOCAL
2021-07-02 21:50:26 +02:00
Jack Zhang
90ef9a6a94 Add nginx documentation for proxy_ignore_client_abort 2021-06-10 10:40:13 +08:00
Sergey Shepelev
6a8ebb4844 eventlet worker: ALREADY_HANDLED -> WSGI_LOCAL
Eventlet v0.30.3+ removed wsgi.ALREADY_HANDLED in favor of
`wsgi.WSGI_LOCAL.already_handled: bool`

Sorry, this breaking change happened during only patch
version increase 0.30.2 -> 0.30.3

https://github.com/eventlet/eventlet/issues/543
https://github.com/eventlet/eventlet/pull/544
2021-06-09 21:49:48 +03:00
Karthikeyan Singaravelan
927c604fb7 Set daemon attribute instead of using setDaemon method that was deprecated in Python 3.10 2021-04-26 12:34:01 +00:00
Benoit Chesneau
cf55d2cec2 bump version 2021-03-27 03:07:48 +01:00
Jack Zhang
917ebcdd57 Fixes #1695 2021-03-25 22:31:58 +08:00
Michael Milton
b83448bfb4
Clarify the secure scheme behaviour, with examples (#2492) 2021-03-08 10:58:22 -08:00
Benoit Chesneau
2ffc1b7512
Merge pull request #2526 from smilerlee/master
Fix a naming error for gthread worker
2021-02-24 11:57:57 +01:00
Smiler Lee
fb05e33377 Fix a naming error for gthread worker 2021-02-24 17:43:17 +08:00
Daan Luttik
3b8ce3df1f
Added a line to the documentation to further explain the use of logconfig_dict
Added a line to make the question "how to use `logconfig_dict`" way easier to answer.
2021-02-16 15:54:49 -08:00
Randall Leeds
01f5d4dd0c Remove 2020 unreleased changelog 2021-02-15 20:00:25 -08:00
Randall Leeds
1cfb59caaa Fix changelog lint 2021-02-15 20:00:13 -08:00
Randall Leeds
6fbe6a115b Clarify grammar in FAQ about worker restarts
Noticed by @guettli on GitHub, this sentence was likely supposed to say
that workers may "be killed" and "start up", where "to start up" is a
verb phrase while "startup" is a single word noun. Clarify by changing
this to read "to stop and start".
2021-02-15 18:23:59 -08:00
Benoit Chesneau
426fe70a54
link to 2021 2021-02-12 22:57:48 +01:00
Benoit Chesneau
61ccfd6c38 bump to 20.1.0 2021-02-12 22:43:44 +01:00
sergeypeloton
540b7100b3
Use warning level for 'Bad request' logs
#2491 
Debug level might not be practical to enable in production.
2021-01-08 14:36:14 -05:00
Benoit Chesneau
d1f0f11b7b fix inline code syntax in news 2021-01-08 13:55:28 +01:00
Benoit Chesneau
f87882e4ab add an empty line in news.rst 2021-01-08 12:30:31 +01:00
Benoit Chesneau
7a79808d96 update changeslog 2021-01-08 12:21:46 +01:00
Adam Johnson
6fd97b9559 Document that WEB_CONCURRENCY is set by, at least, Heroku 2021-01-06 03:14:31 +02:00
Adam Johnson
dad99a1bd4 Update gunicorn_ext.py 2021-01-06 03:14:31 +02:00
Adam Johnson
3273492811 Improve settings documentation
I was reading the documentation to configure another application successfully deployed with Gunicorn, and thought the documentation here could be improved a bit for clarity.

* Use code highlighting for the names, to indicate they are the names to use in the Python configuration file.
* Spell out the CLI flags and defaults with "Command line" and "Default" prefixes so it's clear what these are
* Consistently use Python syntax for the defaults, so the types may be more easily understood.
* Split multiple CLI flags with "or" rather than a comma, for clarity and easier copy-paste.
* Improve some descriptions, such as for ``raw_env`` and a header for "Server Hooks".
2021-01-06 03:14:31 +02:00
Randall Leeds
86eac4ce94
Merge pull request #2479 from benoitc/capture-peer-name
Capture peer name from accept
2020-12-31 11:24:11 -05:00
Randall Leeds
03c642e709
Merge pull request #2480 from kofrezo/update_docs_install
Update Debian and Ubuntu distribution information
2020-12-21 11:55:04 -05:00
Daniel Kröger
a4407abfa5 Default to Python 3 version of gunicorn in Stretch 2020-12-21 15:59:11 +01:00
Daniel Kröger
00e73b7e94 Update Debian and Ubuntu distribution information
- Recommend latest (supported) Debian and Ubuntu versions
- Update provided versions of gunicorn in Debian and Ubuntu
2020-12-21 15:59:02 +01:00
Nikita Sobolev
28a4c1b25e Typo fixed in the AsyncIO docs 2020-12-20 05:45:46 +02:00
Randall Leeds
d7ff60536d Add Python 3.9 to PyPI classifiers 2020-12-19 00:46:48 -05:00
Randall Leeds
2ad21734d4 Enable Python 3.8 and Python 3.9 testing in AppVeyor 2020-12-19 00:46:42 -05:00
Randall Leeds
f376da2e66 Test on Python 3.9 2020-12-19 00:40:40 -05:00
Randall Leeds
c097bec0cc
Merge pull request #2476 from benoitc/fix/1909/no-log-config-dict-cli
Remove the --log-config-dict flag
2020-12-18 20:50:12 -05:00
Randall Leeds
37994e1422 Remove the --log-config-dict flag
There is no support for decoding any dictionary supplied on the command
line. The only way to supply a dictionary logging config is through the
configuration file.

Close #1909.
2020-12-18 20:49:11 -05:00
Randall Leeds
3573fd38d0 Capture peer name from accept
Avoid calls to getpeername by capturing the peer name returned by
accept.
2020-12-17 22:13:02 -05:00
Benoit Chesneau
7ca05ec4e1
Merge pull request #2475 from m2p-consulting/log-killed
Log a warning when a worker was terminated due to a signal
2020-12-17 11:29:04 +01:00
Randall Leeds
b7f2a82731
Merge pull request #2277 from JordanP/graceful-enotconn
Do not raise and crash worker on ENOTCONN error
2020-12-16 19:09:35 -05:00
Armin Berres
b695b497b9 Log a warning when a worker was terminated due to a signal
This happens for example when being OOM killed.

See #2215
2020-12-16 11:05:27 +01:00
Alex Hill
d8a1256065
Document that gthread also uses worker_connections
The `ThreadWorker` uses `worker_connections` it in its run loop to limit how many connections are accepted.
2020-12-10 16:10:50 +08:00
Joshua Kugler
da3b89b765 The signature of __init__ on the "fall through" InotifyReloader
was missing the extra_files paramater, so specifying the inotify
reload engine on the command line when one did not have inotify
installed would, instead of a nice message about needed inotify
installed would result in the following traceback:

```
[2020-10-30 00:55:43 +0000] [7] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 132, in init_process
    self.reloader = reloader_cls(extra_files=self.cfg.reload_extra_files,
TypeError: __init__() got an unexpected keyword argument 'extra_files'
```

I didn't see an easy way to writing a test for this, but would be
happy to take pointers.
2020-10-29 17:26:59 -08:00
Moshe Kaplan
548d5828da
Remove reference to gunicorn/six.py in tox.ini (#2427) 2020-09-23 17:31:23 +03:00
Benoit Chesneau
1ae46ca092
Merge pull request #2418 from duanhongyi/master
fix: repair django wsgi running error
2020-09-18 16:36:20 +02:00
Benoit Chesneau
5175471f42 be more explicit in the description of USR2 flow. 2020-09-17 17:10:07 +02:00
Randall Leeds
1d6f902987 Disable pylint raise-missing-from
Pylint 2.6.0 added a new rule to encourage chaining exceptions. Until
someone has time to address the new warnings, disable the rule to avoid
breaking the build.
2020-09-13 15:37:11 -07:00
Chris Mildebrandt
ca36d410fd Fix format call 2020-09-11 23:05:38 -07:00
Chris Mildebrandt
28df9926d7 Add additional logs when worker exits abnormally 2020-09-11 22:41:27 -07:00
duanhongyi
83319f752c fix: repair django wsgi running error 2020-09-10 16:13:06 +08:00
Benoit Chesneau
b3f9815aba fix: don't enforce the content length
we were trying to enforce the content length when the websocket
key was received but we should instead rely on the headers provided in
the request. Enforcing the expectation of the content length should be
done by the client side not by us.

Changes:

* remove content-length header enforcing in message.p when the
"Sec-WebSocket-Key1" header was found
2020-08-26 10:56:04 +02:00
Ken Okada
f2d8b6d100 Split long line 2020-08-24 21:15:31 +09:00
Gastón Avila
b80a329354
Correction on default value for config file (#2408)
Running gunicorn project.app while having a file called gunicorn.conf.py
in the current directory will read configuration from that file and actually fail
if the file raises an exception.
2020-08-22 20:13:02 +03:00