celery.bin.multi
Запуск нескольких экземпляров worker из командной строки.
Примеры
$ # Single worker with explicit name and events enabled.
$ celerymultistartLeslie-E
$ # Pidfiles and logfiles are stored in the current directory
$ # by default. Use --pidfile and --logfile argument to change
$ # this. The abbreviation %n will be expanded to the current
$ # node name.
$ celerymultistartLeslie-E--pidfile=/var/run/celery/%n.pid
--logfile=/var/log/celery/%n%I.log
$ # You need to add the same arguments when you restart,
$ # as these aren't persisted anywhere.
$ celerymultirestartLeslie-E--pidfile=/var/run/celery/%n.pid
--logfile=/var/log/celery/%n%I.log
$ # To stop the node, you need to specify the same pidfile.
$ celerymultistopLeslie--pidfile=/var/run/celery/%n.pid
$ # 3 workers, with 3 processes each
$ celerymultistart3-c3
celery worker -n celery1@myhost -c 3
celery worker -n celery2@myhost -c 3
celery worker -n celery3@myhost -c 3
$ # override name prefix when using range
$ celerymultistart3--range-prefix=worker-c3
celery worker -n worker1@myhost -c 3
celery worker -n worker2@myhost -c 3
celery worker -n worker3@myhost -c 3
$ # start 3 named workers
$ celerymultistartimagevideodata-c3
celery worker -n image@myhost -c 3
celery worker -n video@myhost -c 3
celery worker -n data@myhost -c 3
$ # specify custom hostname
$ celerymultistart2--hostname=worker.example.com-c3
celery worker -n celery1@worker.example.com -c 3
celery worker -n celery2@worker.example.com -c 3
$ # specify fully qualified nodenames
$ celerymultistartfoo@worker.example.combar@worker.example.com-c3
$ # fully qualified nodenames but using the current hostname
$ celerymultistartfoo@%hbar@%h
$ # Advanced example starting 10 workers in the background:
$ # * Three of the workers processes the images and video queue
$ # * Two of the workers processes the data queue with loglevel DEBUG
$ # * the rest processes the default' queue.
$ celerymultistart10-lINFO-Q:1-3images,video-Q:4,5data
-Q default -L:4,5 DEBUG
$ # You can show the commands necessary to start the workers with
$ # the 'show' command:
$ celerymultishow10-lINFO-Q:1-3images,video-Q:4,5data
-Q default -L:4,5 DEBUG
$ # Additional options are added to each celery worker's command,
$ # but you can also modify the options for ranges of, or specific workers
$ # 3 workers: Two with 3 processes, and one with 10 processes.
$ celerymultistart3-c3-c:110
celery worker -n celery1@myhost -c 10
celery worker -n celery2@myhost -c 3
celery worker -n celery3@myhost -c 3
$ # can also specify options for named workers
$ celerymultistartimagevideodata-c3-c:image10
celery worker -n image@myhost -c 10
celery worker -n video@myhost -c 3
celery worker -n data@myhost -c 3
$ # ranges and lists of workers in options is also allowed:
$ # (-c:1-3 can also be written as -c:1,2,3)
$ celerymultistart5-c3-c:1-310
celery worker -n celery1@myhost -c 10
celery worker -n celery2@myhost -c 10
celery worker -n celery3@myhost -c 10
celery worker -n celery4@myhost -c 3
celery worker -n celery5@myhost -c 3
$ # lists also works with named workers
$ celerymultistartfoobarbazxuzzy-c3-c:foo,bar,baz10
celery worker -n foo@myhost -c 10
celery worker -n bar@myhost -c 10
celery worker -n baz@myhost -c 10
celery worker -n xuzzy@myhost -c 3
- classcelery.bin.multi.MultiTool(env=None, cmd=None, fh=None, stdout=None, stderr=None, **kwargs)
-
Программа
celery multi.- Cluster(nodes, cmd=None)
- propertyDOWN
- propertyFAILED
- classMultiParser(cmd='celery worker', append='', prefix='', suffix='', range_prefix='celery')
-
- classNode(name, cmd=None, append=None, options=None, extra_args=None)
-
Представляет узел в кластере.
- alive()
- propertyargv_with_executable
- propertyexecutable
- classmethodfrom_kwargs(name, **kwargs)
- getopt(*alt)
- handle_process_exit(retcode, on_signalled=None, on_failure=None)
- propertylogfile
- propertypid
- propertypidfile
- prepare_argv(argv, path)
- send(sig, on_error=None)
- start(env=None, **kwargs)
- parse(p)
- propertyOK
- OptionParser
-
псевдоним
NamespacedOptionParser
- call_command(command, argv)
- cluster_from_argv(argv, cmd=None)
- execute_from_commandline(argv, cmd=None)
- expand(template, *argv)
- get(wanted, *argv)
- help(*argv)
- kill(cluster)
- names(cluster)
- on_child_failure(node, retcode)
- on_child_signalled(node, signum)
- on_child_spawn(node, argstr, env)
- on_node_down(node)
- on_node_restart(node)
- on_node_shutdown_ok(node)
- on_node_signal(node, sig)
- on_node_signal_dead(node)
- on_node_start(node)
- on_node_status(node, retval)
- on_send_signal(node, sig)
- on_still_waiting_end()
- on_still_waiting_for(nodes)
- on_still_waiting_progress(nodes)
- on_stopping_preamble(nodes)
- reserved_options=[('--nosplash', 'nosplash'), ('--quiet', 'quiet'), ('-q', 'quiet'), ('--verbose', 'verbose'), ('--no-color', 'no_color')]
- restart(cluster, sig, **kwargs)
- show(cluster)
- start(cluster)
- stop(cluster, sig, **kwargs)
- stop_verify(cluster, sig, **kwargs)
- stopwait(cluster, sig, **kwargs)
- validate_arguments(argv)
Copyright © 2017-2026 Asif Saif Uddin, core team & contributors. All rights reserved.
Celery is licensed under The BSD License (3 Clause, also known as the new BSD license). The license is an OSI approved Open Source license and is GPL-compatible.
https://docs.celeryq.dev/en/stable/reference/celery.bin.multi.html