Browse Source

Use USE_FAST_LOCALS envvar instead of USE_PURE_LOCALS, so optimization must be enabled manually

Ask Solem 12 years ago
parent
commit
febda4ca84
3 changed files with 6 additions and 9 deletions
  1. 0 4
      celery/concurrency/threads.py
  2. 2 4
      celery/utils/threads.py
  3. 4 1
      funtests/benchmarks/bench_worker.py

+ 0 - 4
celery/concurrency/threads.py

@@ -14,10 +14,6 @@ from celery.utils.compat import UserDict
 
 from .base import apply_target, BasePool
 
-#: Makes sure we don't use threading.local for stacks
-#: since apparently they don't work properly.
-os.environ['USE_PURE_LOCALS'] = '1'
-
 
 class NullDict(UserDict):
 

+ 2 - 4
celery/utils/threads.py

@@ -13,12 +13,10 @@ import sys
 import threading
 import traceback
 
-from kombu.syn import _detect_environment
-
 from celery.local import Proxy
 from celery.utils.compat import THREAD_TIMEOUT_MAX
 
-USE_PURE_LOCALS = os.environ.get('USE_PURE_LOCALS')
+USE_FAST_LOCALS = os.environ.get('USE_FAST_LOCALS')
 
 _Thread = threading.Thread
 _Event = threading._Event
@@ -319,7 +317,7 @@ class _FastLocalStack(threading.local):
         except (AttributeError, IndexError):
             return None
 
-if _detect_environment() == 'default' and not USE_PURE_LOCALS:
+if USE_FAST_LOCALS:
     LocalStack = _FastLocalStack
 else:
     # - See #706

+ 4 - 1
funtests/benchmarks/bench_worker.py

@@ -2,7 +2,10 @@ import os
 import sys
 import time
 
-os.environ['NOSETPS'] = 'yes'
+os.environ.update(
+    NOSETPS='yes',
+    USE_FAST_LOCALS='yes',
+)
 
 import anyjson
 JSONIMP = os.environ.get('JSONIMP')