Преглед изворни кода

introduces CELERYD_MULTI_ARGS configuration option. celeryd-multi tries to read command arguments from configuration if it is called without arguments

mher пре 14 година
родитељ
комит
67fb27b6db
1 измењених фајлова са 10 додато и 1 уклоњено
  1. 10 1
      celery/bin/celeryd_multi.py

+ 10 - 1
celery/bin/celeryd_multi.py

@@ -97,7 +97,8 @@ from subprocess import Popen
 from time import sleep
 
 from celery import __version__
-from celery.utils import term
+from celery.utils import term, import_from_cwd
+from celery.loaders.default import DEFAULT_CONFIG_MODULE
 
 SIGNAMES = set(sig for sig in dir(signal)
                         if sig.startswith("SIG") and "_" not in sig)
@@ -167,6 +168,14 @@ class MultiTool(object):
         if len(argv) == 0 or argv[0][0] == "-":
             return self.error()
 
+        if len(argv) == 1:
+            try:
+                conf = import_from_cwd(os.environ.get("CELERY_CONFIG_MODULE",
+                                                      DEFAULT_CONFIG_MODULE))
+                argv.extend(conf.CELERYD_MULTI_ARGS.split())
+            except (ImportError, AttributeError):
+                pass
+
         try:
             self.commands[argv[0]](argv[1:], cmd)
         except KeyError: