summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Saddi <allan@saddi.com>2011-04-04 23:02:16 -0700
committerAllan Saddi <allan@saddi.com>2011-04-04 23:02:16 -0700
commita5491293dd4809a39d53a5ee01202f62b03d3d38 (patch)
treea22ecd5753c790ece1fb018682b96fa9301ff3c7
parentfd558313d33bf9c04b288240879e56ff9714bb4f (diff)
downloadflup-a5491293dd4809a39d53a5ee01202f62b03d3d38.tar.gz
Add threadpool options to Paste factories. #59
-rw-r--r--ChangeLog4
-rw-r--r--flup/server/paste_factory.py37
2 files changed, 35 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 4b444d2..14a615d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-04-04 Allan Saddi <allan@saddi.com>
+
+ * Add threadpool options to Paste factories.
+
2011-02-19 Allan Saddi <allan@saddi.com>
* When deriving PATH_INFO from REQUEST_URI, take SCRIPT_NAME into account.
diff --git a/flup/server/paste_factory.py b/flup/server/paste_factory.py
index 40721b1..d617dcc 100644
--- a/flup/server/paste_factory.py
+++ b/flup/server/paste_factory.py
@@ -30,18 +30,26 @@ def aslist(obj, sep=None, strip=True):
def run_ajp_thread(wsgi_app, global_conf,
scriptName='', host='localhost', port='8009',
- allowedServers='127.0.0.1', debug=NoDefault):
+ allowedServers='127.0.0.1', debug=NoDefault,
+ minSpare=None, maxSpare=None, maxThreads=None):
import flup.server.ajp
addr = (host, int(port))
if debug is NoDefault:
debug = global_conf.get('debug', False)
debug = asbool(debug)
+ threadpool_args = {}
+ if minSpare is not None:
+ threadpool_args['minSpare'] = int(minSpare)
+ if maxSpare is not None:
+ threadpool_args['maxSpare'] = int(maxSpare)
+ if maxThreads is not None:
+ threadpool_args['maxThreads'] = int(maxThreads)
s = flup.server.ajp.WSGIServer(
wsgi_app,
scriptName=scriptName,
bindAddress=addr,
allowedServers=aslist(allowedServers),
- debug=debug,
+ debug=debug, **threadpool_args
)
s.run()
@@ -76,7 +84,8 @@ def run_ajp_fork(wsgi_app, global_conf,
def run_fcgi_thread(wsgi_app, global_conf,
host=None, port=None,
socket=None, umask=None,
- multiplexed=False, debug=NoDefault):
+ multiplexed=False, debug=NoDefault,
+ minSpare=None, maxSpare=None, maxThreads=None):
import flup.server.fcgi
if socket:
assert host is None and port is None
@@ -91,11 +100,19 @@ def run_fcgi_thread(wsgi_app, global_conf,
if debug is NoDefault:
debug = global_conf.get('debug', False)
debug = asbool(debug)
+ threadpool_args = {}
+ if minSpare is not None:
+ threadpool_args['minSpare'] = int(minSpare)
+ if maxSpare is not None:
+ threadpool_args['maxSpare'] = int(maxSpare)
+ if maxThreads is not None:
+ threadpool_args['maxThreads'] = int(maxThreads)
s = flup.server.fcgi.WSGIServer(
wsgi_app,
bindAddress=sock, umask=umask,
multiplexed=asbool(multiplexed),
- debug=debug)
+ debug=debug, **threadpool_args
+ )
s.run()
def run_fcgi_fork(wsgi_app, global_conf,
@@ -139,18 +156,26 @@ def run_fcgi_fork(wsgi_app, global_conf,
def run_scgi_thread(wsgi_app, global_conf,
scriptName=NoDefault, host='localhost', port='4000',
allowedServers='127.0.0.1',
- debug=NoDefault):
+ debug=NoDefault,
+ minSpare=None, maxSpare=None, maxThreads=None):
import flup.server.scgi
addr = (host, int(port))
if debug is NoDefault:
debug = global_conf.get('debug', False)
debug = asbool(debug)
+ threadpool_args = {}
+ if minSpare is not None:
+ threadpool_args['minSpare'] = int(minSpare)
+ if maxSpare is not None:
+ threadpool_args['maxSpare'] = int(maxSpare)
+ if maxThreads is not None:
+ threadpool_args['maxThreads'] = int(maxThreads)
s = flup.server.scgi.WSGIServer(
wsgi_app,
scriptName=scriptName,
bindAddress=addr,
allowedServers=aslist(allowedServers),
- debug=debug,
+ debug=debug, **threadpool_args
)
s.run()