Rev948, Disable websocket logging, Change max files opened limit on startup
This commit is contained in:
parent
dba42f5f5e
commit
2a06cec5c2
4 changed files with 36 additions and 3 deletions
|
@ -8,7 +8,7 @@ class Config(object):
|
||||||
|
|
||||||
def __init__(self, argv):
|
def __init__(self, argv):
|
||||||
self.version = "0.3.6"
|
self.version = "0.3.6"
|
||||||
self.rev = 943
|
self.rev = 948
|
||||||
self.argv = argv
|
self.argv = argv
|
||||||
self.action = None
|
self.action = None
|
||||||
self.config_file = "zeronet.conf"
|
self.config_file = "zeronet.conf"
|
||||||
|
@ -149,6 +149,8 @@ class Config(object):
|
||||||
self.parser.add_argument('--disable_sslcompression', help='Disable SSL compression to save memory',
|
self.parser.add_argument('--disable_sslcompression', help='Disable SSL compression to save memory',
|
||||||
type='bool', choices=[True, False], default=True)
|
type='bool', choices=[True, False], default=True)
|
||||||
self.parser.add_argument('--keep_ssl_cert', help='Disable new SSL cert generation on startup', action='store_true')
|
self.parser.add_argument('--keep_ssl_cert', help='Disable new SSL cert generation on startup', action='store_true')
|
||||||
|
self.parser.add_argument('--max_files_opened', help='Change maximum opened files allowed by OS to this value on startup',
|
||||||
|
default=1024, type=int, metavar='limit')
|
||||||
self.parser.add_argument('--use_tempfiles', help='Use temporary files when downloading (experimental)',
|
self.parser.add_argument('--use_tempfiles', help='Use temporary files when downloading (experimental)',
|
||||||
type='bool', choices=[True, False], default=False)
|
type='bool', choices=[True, False], default=False)
|
||||||
self.parser.add_argument('--stream_downloads', help='Stream download directly to files (experimental)',
|
self.parser.add_argument('--stream_downloads', help='Stream download directly to files (experimental)',
|
||||||
|
|
|
@ -61,6 +61,11 @@ class UiServer:
|
||||||
self.sites = SiteManager.site_manager.list()
|
self.sites = SiteManager.site_manager.list()
|
||||||
self.log = logging.getLogger(__name__)
|
self.log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
# After WebUI started
|
||||||
|
def afterStarted(self):
|
||||||
|
from util import Platform
|
||||||
|
Platform.setMaxfilesopened(config.max_files_opened)
|
||||||
|
|
||||||
# Handle WSGI request
|
# Handle WSGI request
|
||||||
def handleRequest(self, env, start_response):
|
def handleRequest(self, env, start_response):
|
||||||
path = env["PATH_INFO"]
|
path = env["PATH_INFO"]
|
||||||
|
@ -120,6 +125,7 @@ class UiServer:
|
||||||
|
|
||||||
self.server = WSGIServer((self.ip.replace("*", ""), self.port), handler, handler_class=UiWSGIHandler, log=self.log)
|
self.server = WSGIServer((self.ip.replace("*", ""), self.port), handler, handler_class=UiWSGIHandler, log=self.log)
|
||||||
self.server.sockets = {}
|
self.server.sockets = {}
|
||||||
|
self.afterStarted()
|
||||||
try:
|
try:
|
||||||
self.server.serve_forever()
|
self.server.serve_forever()
|
||||||
except Exception, err:
|
except Exception, err:
|
||||||
|
@ -149,4 +155,4 @@ class UiServer:
|
||||||
|
|
||||||
self.server.socket.close()
|
self.server.socket.close()
|
||||||
self.server.stop()
|
self.server.stop()
|
||||||
time.sleep(1)
|
time.sleep(1)
|
|
@ -1,6 +1,6 @@
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
from logging import getLogger, StreamHandler, getLoggerClass, Formatter, DEBUG
|
from logging import getLogger, StreamHandler, getLoggerClass, Formatter, DEBUG, INFO
|
||||||
|
|
||||||
|
|
||||||
def create_logger(name, debug=False, format=None):
|
def create_logger(name, debug=False, format=None):
|
||||||
|
@ -27,5 +27,6 @@ def create_logger(name, debug=False, format=None):
|
||||||
del logger.handlers[:]
|
del logger.handlers[:]
|
||||||
logger.__class__ = DebugLogger
|
logger.__class__ = DebugLogger
|
||||||
logger.addHandler(handler)
|
logger.addHandler(handler)
|
||||||
|
logger.setLevel(INFO)
|
||||||
|
|
||||||
return logger
|
return logger
|
||||||
|
|
24
src/util/Platform.py
Normal file
24
src/util/Platform.py
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
import sys
|
||||||
|
import logging
|
||||||
|
|
||||||
|
|
||||||
|
def setMaxfilesopened(limit):
|
||||||
|
try:
|
||||||
|
if sys.platform == "win32":
|
||||||
|
import win32file
|
||||||
|
maxstdio = win32file._getmaxstdio()
|
||||||
|
if maxstdio < limit:
|
||||||
|
logging.debug("Current maxstdio: %s, changing to %s..." % (maxstdio, limit))
|
||||||
|
win32file._setmaxstdio(limit)
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
import resource
|
||||||
|
soft, hard = resource.getrlimit(resource.RLIMIT_NOFILE)
|
||||||
|
if soft < limit:
|
||||||
|
logging.debug("Current RLIMIT_NOFILE: %s, changing to %s..." % (soft, limit))
|
||||||
|
resource.setrlimit(resource.RLIMIT_NOFILE, (soft, hard))
|
||||||
|
return True
|
||||||
|
|
||||||
|
except Exception, err:
|
||||||
|
logging.error("Failed to modify max files open limit: %s" % err)
|
||||||
|
return False
|
Loading…
Reference in a new issue