|
@@ -164,8 +164,13 @@ def multi_args(p, cmd="celeryd", append="", prefix="", suffix=""):
|
|
|
options = dict(p.options)
|
|
|
ranges = len(names) == 1
|
|
|
if ranges:
|
|
|
- names = map(str, range(1, int(names[0]) + 1))
|
|
|
- prefix = "celery"
|
|
|
+ try:
|
|
|
+ noderange = int(names[0])
|
|
|
+ except ValueError:
|
|
|
+ pass
|
|
|
+ else:
|
|
|
+ names = map(str, range(1, int(names[0]) + 1))
|
|
|
+ prefix = "celery"
|
|
|
cmd = options.pop("--cmd", cmd)
|
|
|
append = options.pop("--append", append)
|
|
|
hostname = options.pop("--hostname",
|
|
@@ -195,12 +200,9 @@ def say(m):
|
|
|
sys.stderr.write("%s\n" % (m, ))
|
|
|
|
|
|
|
|
|
-def detach_worker(argv):
|
|
|
- path = sys.executable
|
|
|
- argv = [sys.executable, "-m", "celery.bin.celeryd_detach"] + argv
|
|
|
-
|
|
|
+def detach_worker(argv, path=sys.executable):
|
|
|
if os.fork() == 0:
|
|
|
- os.execv(path, argv)
|
|
|
+ os.execv(path, [path] + argv)
|
|
|
|
|
|
|
|
|
class MultiTool(object):
|
|
@@ -215,7 +217,7 @@ class MultiTool(object):
|
|
|
"help": self.help}
|
|
|
|
|
|
def __call__(self, argv, cmd="celeryd"):
|
|
|
- if len(argv) == 0:
|
|
|
+ if len(argv) == 0 or argv[0][0] == "-":
|
|
|
self.usage()
|
|
|
sys.exit(0)
|
|
|
|
|
@@ -248,6 +250,7 @@ class MultiTool(object):
|
|
|
p = NamespacedOptionParser(argv)
|
|
|
p.options.setdefault("--pidfile", "celeryd@%n.pid")
|
|
|
p.options.setdefault("--logfile", "celeryd@%n.log")
|
|
|
+ p.options.setdefault("--cmd", "-m celery.bin.celeryd_detach")
|
|
|
for nodename, argv, _ in multi_args(p, cmd):
|
|
|
print("> Starting node %s..." % (nodename, ))
|
|
|
print(argv)
|