mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
Fix eventlet patching and bump required version
Fix eventlet patching by performing the patching before the `init_process` method, which does not return, is called. This fix depends on bumping the required version to 0.24.1, which contains a fix for the monotonic clock. See the relevant commit: eventlet/eventlet@82f1877 This commit reverts 120f503f68929ef98d721a406745a1dbbb9d83fe Fix #1847 Fix #1884
This commit is contained in:
parent
ad941bdff4
commit
a542a07773
@ -630,7 +630,7 @@ class WorkerClass(Setting):
|
|||||||
A string referring to one of the following bundled classes:
|
A string referring to one of the following bundled classes:
|
||||||
|
|
||||||
* ``sync``
|
* ``sync``
|
||||||
* ``eventlet`` - Requires eventlet >= 0.24 (or install it via
|
* ``eventlet`` - Requires eventlet >= 0.24.1 (or install it via
|
||||||
``pip install gunicorn[eventlet]``)
|
``pip install gunicorn[eventlet]``)
|
||||||
* ``gevent`` - Requires gevent >= 1.4 (or install it via
|
* ``gevent`` - Requires gevent >= 1.4 (or install it via
|
||||||
``pip install gunicorn[gevent]``)
|
``pip install gunicorn[gevent]``)
|
||||||
|
|||||||
@ -11,11 +11,11 @@ import sys
|
|||||||
try:
|
try:
|
||||||
import eventlet
|
import eventlet
|
||||||
except ImportError:
|
except ImportError:
|
||||||
raise RuntimeError("eventlet worker requires eventlet 0.24 or higher")
|
raise RuntimeError("eventlet worker requires eventlet 0.24.1 or higher")
|
||||||
else:
|
else:
|
||||||
from pkg_resources import parse_version
|
from pkg_resources import parse_version
|
||||||
if parse_version(eventlet.__version__) < parse_version('0.24'):
|
if parse_version(eventlet.__version__) < parse_version('0.24.1'):
|
||||||
raise RuntimeError("eventlet worker requires eventlet 0.24 or higher")
|
raise RuntimeError("eventlet worker requires eventlet 0.24.1 or higher")
|
||||||
|
|
||||||
from eventlet import hubs, greenthread
|
from eventlet import hubs, greenthread
|
||||||
from eventlet.greenio import GreenSocket
|
from eventlet.greenio import GreenSocket
|
||||||
@ -95,8 +95,8 @@ class EventletWorker(AsyncWorker):
|
|||||||
return super().is_already_handled(respiter)
|
return super().is_already_handled(respiter)
|
||||||
|
|
||||||
def init_process(self):
|
def init_process(self):
|
||||||
super().init_process()
|
|
||||||
self.patch()
|
self.patch()
|
||||||
|
super().init_process()
|
||||||
|
|
||||||
def handle_quit(self, sig, frame):
|
def handle_quit(self, sig, frame):
|
||||||
eventlet.spawn(super().handle_quit, sig, frame)
|
eventlet.spawn(super().handle_quit, sig, frame)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user