diff --git a/openerp-server b/openerp-server index 9025e2d50c273873e7f91b957acd6336fbe10fda..4d28a4cb75996caadc051edf49e1922090b11b8f 100755 --- a/openerp-server +++ b/openerp-server @@ -223,6 +223,12 @@ def main(): check_root_user() openerp.tools.config.parse_config(sys.argv[1:]) + # TODO GEVENT if event + import gevent.monkey + gevent.monkey.patch_all() + import gevent_psycopg2 + gevent_psycopg2.monkey_patch() + check_postgres_user() openerp.netsvc.init_logger() report_configuration() diff --git a/openerp/service/__init__.py b/openerp/service/__init__.py index 30a765b1f606aaa25d5a7887e10db1699dcd3466..d3a5713528419b1cb4c8d5ee97b046c615677f3b 100644 --- a/openerp/service/__init__.py +++ b/openerp/service/__init__.py @@ -86,7 +86,8 @@ def start_services(): netrpc_server.init_servers() # Start the main cron thread. - openerp.cron.start_master_thread() + # TODO GEVENT if event use greenlet in cron + # openerp.cron.start_master_thread() # Start the top-level servers threads (normally HTTP, HTTPS, and NETRPC). openerp.netsvc.Server.startAll() diff --git a/openerp/service/wsgi_server.py b/openerp/service/wsgi_server.py index 61556974a00e4d25d696bbccda67dbdff416fad7..d15d423818bb7702605711170ad4be303c6bbef8 100644 --- a/openerp/service/wsgi_server.py +++ b/openerp/service/wsgi_server.py @@ -424,7 +424,10 @@ def serve(): # TODO Change the xmlrpc_* options to http_* interface = config['xmlrpc_interface'] or '0.0.0.0' port = config['xmlrpc_port'] - httpd = werkzeug.serving.make_server(interface, port, application, threaded=True) + #httpd = werkzeug.serving.make_server(interface, port, application, threaded=True) + # TODO GEVENT if event + from gevent.wsgi import WSGIServer + httpd = WSGIServer((interface, port), application) _logger.info('HTTP service (werkzeug) running on %s:%s', interface, port) httpd.serve_forever()