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()