начать сельдерей с командой sudo - PullRequest
0 голосов
/ 13 февраля 2019

Я работаю с Celery и пытаюсь запустить его с sudo.sudo celery multi start worker --app=app.celery --loglevel=info --concurrency=1 Мне нужно запустить команду с помощью sudo, однако, когда я это делаю, я получаю ошибку разрешения.Как запустить Celery с помощью команды sudo?

Я пытался прочитать документы, но неясно Документы Celery

sudo celery multi start worker --app=app.celery --loglevel=info --concurrency=1
celery multi v4.2.1 (windowlicker)
> Starting nodes...
    > worker@xr-npu-perf-lnx: OK
Traceback (most recent call last):
  File "/auto/pysw/cel7x/python64/3.4.1/lib/python3.4/runpy.py", line 170, in _run_module_as_main
    "__main__", mod_spec)
  File "/auto/pysw/cel7x/python64/3.4.1/lib/python3.4/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/__main__.py", line 20, in <module>
    main()
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/__main__.py", line 16, in main
    _main()
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/bin/celery.py", line 322, in main
    cmd.execute_from_commandline(argv)
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/bin/celery.py", line 496, in execute_from_commandline
    super(CeleryCommand, self).execute_from_commandline(argv)))
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/bin/base.py", line 275, in execute_from_commandline
    return self.handle_argv(self.prog_name, argv[1:])
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/bin/celery.py", line 488, in handle_argv
    return self.execute(command, argv)
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/bin/celery.py", line 420, in execute
    ).run_from_argv(self.prog_name, argv[1:], command=argv[0])
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/bin/worker.py", line 222, in run_from_argv
    self.maybe_detach([command] + argv)
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/bin/worker.py", line 229, in maybe_detach
    detached_celeryd(self.app).execute_from_commandline(argv)
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/bin/celeryd_detach.py", line 99, in execute_from_commandline
    **vars(options)
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/bin/celeryd_detach.py", line 35, in detach
    after_forkers=False):
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/platforms.py", line 335, in open
    self.after_chdir()
  File "/auto/nest/xr-perf-site/xr-perf-pyats-env/lib/python3.4/site-packages/celery/platforms.py", line 412, in after_chdir_do
    logfile and open(logfile, 'a').close()
PermissionError: [Errno 13] Permission denied: 'worker.log'

1 Ответ

0 голосов
/ 15 февраля 2019

Вы столкнулись с ошибкой прав доступа из-за расположения вашего каталога журналов.Вы можете указать файл журнала с помощью -f.Так что, может быть, что-то вроде:

sudo celery multi start worker --app=app.celery --loglevel=info --concurrency=1 -f /tmp/celery.log

должно сработать.Если память служит, вам также может потребоваться установить переменную C_FORCE_ROOT env в 1, чтобы это работало.

...