[IMP] gevent: no longer a command-line flag (always used in multi-process, never otherwise)
The internal flag is in openerp.__init__ (as the multi_process flag). bzr revid: vmt@openerp.com-20130118152511-57u4gxyolz0hd4y8
This commit is contained in:
parent
a4120a879a
commit
ed0a292f5d
|
@ -51,6 +51,8 @@ wsgi.register_wsgi_handler = wsgi.wsgi_server.register_wsgi_handler
|
||||||
# its own copy of the data structure and we don't need to care about
|
# its own copy of the data structure and we don't need to care about
|
||||||
# locks between threads.
|
# locks between threads.
|
||||||
multi_process = False
|
multi_process = False
|
||||||
|
# Is the server running with gevent.
|
||||||
|
evented = False
|
||||||
|
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
||||||
|
|
|
@ -230,20 +230,10 @@ def main(args):
|
||||||
check_root_user()
|
check_root_user()
|
||||||
openerp.tools.config.parse_config(args)
|
openerp.tools.config.parse_config(args)
|
||||||
|
|
||||||
if openerp.tools.config.options["gevent"]:
|
|
||||||
_logger.info('Using gevent mode')
|
|
||||||
import gevent.monkey
|
|
||||||
gevent.monkey.patch_all()
|
|
||||||
import gevent_psycopg2
|
|
||||||
gevent_psycopg2.monkey_patch()
|
|
||||||
|
|
||||||
check_postgres_user()
|
check_postgres_user()
|
||||||
openerp.netsvc.init_logger()
|
openerp.netsvc.init_logger()
|
||||||
report_configuration()
|
report_configuration()
|
||||||
|
|
||||||
if openerp.tools.config.options["gevent"]:
|
|
||||||
_logger.info('Using gevent mode')
|
|
||||||
|
|
||||||
config = openerp.tools.config
|
config = openerp.tools.config
|
||||||
|
|
||||||
configure_babel_localedata_path()
|
configure_babel_localedata_path()
|
||||||
|
|
|
@ -34,6 +34,7 @@ import web_services
|
||||||
import web_services
|
import web_services
|
||||||
import wsgi_server
|
import wsgi_server
|
||||||
|
|
||||||
|
import openerp
|
||||||
import openerp.modules
|
import openerp.modules
|
||||||
import openerp.netsvc
|
import openerp.netsvc
|
||||||
import openerp.osv
|
import openerp.osv
|
||||||
|
@ -91,13 +92,13 @@ def start_services():
|
||||||
# Start the WSGI server.
|
# Start the WSGI server.
|
||||||
wsgi_server.start_service()
|
wsgi_server.start_service()
|
||||||
# Start the main cron thread.
|
# Start the main cron thread.
|
||||||
if not openerp.tools.config.options["gevent"]:
|
if not openerp.evented:
|
||||||
cron.start_service()
|
cron.start_service()
|
||||||
|
|
||||||
def stop_services():
|
def stop_services():
|
||||||
""" Stop all services. """
|
""" Stop all services. """
|
||||||
# stop services
|
# stop services
|
||||||
if not openerp.tools.config.options["gevent"]:
|
if not openerp.evented:
|
||||||
cron.stop_service()
|
cron.stop_service()
|
||||||
netrpc_server.stop_service()
|
netrpc_server.stop_service()
|
||||||
wsgi_server.stop_service()
|
wsgi_server.stop_service()
|
||||||
|
|
|
@ -354,7 +354,7 @@ class WorkerLongPolling(Worker):
|
||||||
self.watchdog_timeout = None
|
self.watchdog_timeout = None
|
||||||
|
|
||||||
def start(self):
|
def start(self):
|
||||||
config.options["gevent"] = True
|
openerp.evented = True
|
||||||
_logger.info('Using gevent mode')
|
_logger.info('Using gevent mode')
|
||||||
import gevent.monkey
|
import gevent.monkey
|
||||||
gevent.monkey.patch_all()
|
gevent.monkey.patch_all()
|
||||||
|
|
|
@ -424,7 +424,7 @@ def serve():
|
||||||
# TODO Change the xmlrpc_* options to http_*
|
# TODO Change the xmlrpc_* options to http_*
|
||||||
interface = config['xmlrpc_interface'] or '0.0.0.0'
|
interface = config['xmlrpc_interface'] or '0.0.0.0'
|
||||||
port = config['xmlrpc_port']
|
port = config['xmlrpc_port']
|
||||||
if not openerp.tools.config.options["gevent"]:
|
if not openerp.evented:
|
||||||
httpd = werkzeug.serving.make_server(interface, port, application, threaded=True)
|
httpd = werkzeug.serving.make_server(interface, port, application, threaded=True)
|
||||||
else:
|
else:
|
||||||
from gevent.wsgi import WSGIServer
|
from gevent.wsgi import WSGIServer
|
||||||
|
|
|
@ -108,7 +108,6 @@ class configmanager(object):
|
||||||
help="specify additional addons paths (separated by commas).",
|
help="specify additional addons paths (separated by commas).",
|
||||||
action="callback", callback=self._check_addons_path, nargs=1, type="string")
|
action="callback", callback=self._check_addons_path, nargs=1, type="string")
|
||||||
group.add_option("--load", dest="server_wide_modules", help="Comma-separated list of server-wide modules default=web")
|
group.add_option("--load", dest="server_wide_modules", help="Comma-separated list of server-wide modules default=web")
|
||||||
group.add_option("--gevent", dest="gevent", action="store_true", my_default=False, help="Activate the GEvent mode, this also desactivate the cron.")
|
|
||||||
parser.add_option_group(group)
|
parser.add_option_group(group)
|
||||||
|
|
||||||
# XML-RPC / HTTP
|
# XML-RPC / HTTP
|
||||||
|
@ -412,7 +411,7 @@ class configmanager(object):
|
||||||
'list_db', 'xmlrpcs', 'proxy_mode',
|
'list_db', 'xmlrpcs', 'proxy_mode',
|
||||||
'test_file', 'test_enable', 'test_commit', 'test_report_directory',
|
'test_file', 'test_enable', 'test_commit', 'test_report_directory',
|
||||||
'osv_memory_count_limit', 'osv_memory_age_limit', 'max_cron_threads', 'unaccent',
|
'osv_memory_count_limit', 'osv_memory_age_limit', 'max_cron_threads', 'unaccent',
|
||||||
'workers', 'limit_memory_hard', 'limit_memory_soft', 'limit_time_cpu', 'limit_time_real', 'limit_request', 'gevent'
|
'workers', 'limit_memory_hard', 'limit_memory_soft', 'limit_time_cpu', 'limit_time_real', 'limit_request',
|
||||||
]
|
]
|
||||||
|
|
||||||
for arg in keys:
|
for arg in keys:
|
||||||
|
|
Loading…
Reference in New Issue