Jelajahi Sumber

[core] Perform Eventlet patching only when running Spawning server

Romain Rigaux 13 tahun lalu
induk
melakukan
5207d3e9db

+ 18 - 16
desktop/core/src/desktop/lib/eventlet_util.py

@@ -14,23 +14,25 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+import os
 
-import eventlet
+if os.getenv('HUE_SPAWNING', 'no') == 'yes':
+  import eventlet
 
-# Magically solves the Thrift/REST connection blocking problem
-# by monkey patching socket (http://eventlet.net/doc/patching.html).
-#
-# A cleaner solution would be to avoid this magic and find a way to have
-# the eventlet.green imports done at the very beginning (i.e. before 'socket').
-eventlet.monkey_patch(socket=True)
+  # Magically solves the Thrift/REST connection blocking problem
+  # by monkey patching socket (http://eventlet.net/doc/patching.html).
+  #
+  # A cleaner solution would be to avoid this magic and find a way to have
+  # the eventlet.green imports done at the very beginning (i.e. before 'socket').
+  eventlet.monkey_patch(socket=True)
 
-from eventlet.green import Queue
-from eventlet.green import SocketServer
+  from eventlet.green import Queue
+  from eventlet.green import SocketServer
 
-from eventlet.green import os
-from eventlet.green import select
-from eventlet.green import ssl
-from eventlet.green import thread
-from eventlet.green import threading
-from eventlet.green import time
-from eventlet.green import socket
+  from eventlet.green import os
+  from eventlet.green import select
+  from eventlet.green import ssl
+  from eventlet.green import thread
+  from eventlet.green import threading
+  from eventlet.green import time
+  from eventlet.green import socket

+ 2 - 0
desktop/core/src/desktop/management/commands/runspawningserver.py

@@ -20,6 +20,7 @@ import desktop.lib.eventlet_util
 
 import logging
 import os
+import sys
 
 from django.core.management.base import BaseCommand
 from desktop import conf
@@ -128,6 +129,7 @@ def runspawningserver():
     'watch': SPAWNING_SERVER_OPTIONS['watch']
   }
 
+  os.environ['HUE_SPAWNING'] = 'yes'
   spawning.spawning_controller.start_controller(sock, factory, factory_args)