Procházet zdrojové kódy

Don't install compat programs if CELERY_COMPAT_PROGRAMS env set to 0

Ask Solem před 12 roky
rodič
revize
f3b3945b12
2 změnil soubory, kde provedl 14 přidání a 3 odebrání
  1. 12 1
      celery/__main__.py
  2. 2 2
      setup.py

+ 12 - 1
celery/__main__.py

@@ -3,11 +3,22 @@ from __future__ import absolute_import
 import sys
 
 
-def main():
+def maybe_patch_concurrency():
     from celery.platforms import maybe_patch_concurrency
     maybe_patch_concurrency(sys.argv, ['-P'], ['--pool'])
+
+
+def main():
+    maybe_patch_concurrency()
     from celery.bin.celery import main
     main()
 
+
+def _compat_worker():
+    maybe_patch_concurrency()
+    from celery.bin.celeryd import main
+    main()
+
+
 if __name__ == '__main__':
     main()

+ 2 - 2
setup.py

@@ -15,7 +15,7 @@ import os
 import sys
 import codecs
 
-CELERY_COMPAT_PROGRAMS = os.environ.get('CELERY_COMPAT_PROGRAMS')
+CELERY_COMPAT_PROGRAMS = int(os.environ.get('CELERY_COMPAT_PROGRAMS', 1))
 
 if sys.version_info < (2, 5):
     raise Exception('Celery requires Python 2.5 or higher.')
@@ -181,7 +181,7 @@ console_scripts = entrypoints['console_scripts'] = [
 
 if CELERY_COMPAT_PROGRAMS:
     console_scripts.extend([
-        'celeryd = celery.bin.celeryd:main',
+        'celeryd = celery.__main__:_compat_worker',
         'celerybeat = celery.bin.celerybeat:main',
         'camqadm = celery.bin.camqadm:main',
         'celeryev = celery.bin.celeryev:main',