python - supervisord 没有这样的过程 vaultier

标签 python ubuntu supervisord

我设法在我的 ubuntu 服务器上安装了 vaultier。为了完成安装,我必须将 vaultier 添加为守护进程以在后台与 supervisord 一起工作。

这是我到目前为止所做的:

/etc/supervisor/conf.d/vaultier.conf

[program:vaultier-worker]
    command=/opt/vaultier/venv/bin/celery -A vaultier worker
    directory=/opt/vaultier
    environment=PATH="/opt/vaultier/venv/bin:",DJANGO_SETTINGS_MODULE="vaultier_conf"
    user=vaultier
    numprocs=1
    autostart=true
    autorestart=true
    startsecs=1
    stopwaitsecs = 600

    [program:vaultier-celerybeat]
    command=/opt/vaultier/venv/bin/celery -A vaultier beat
    directory=/opt/vaultier
    environment=PATH="/opt/vaultier/venv/bin:",DJANGO_SETTINGS_MODULE="vaultier_conf"
    user=vaultier
    numprocs=1
    autostart=true
    autorestart=true
    startsecs=1
    stopwaitsecs = 600

    [group:vaultier]
    programs=vaultier-celerybeat,vaultier-worker

更新主管以使用 conf:

$ supervisorctl reread
# vaultier activated
$ supervisorctl update
# added group vaultier
$ supervisorctl status vaultier:
# no such process vaultier

主管的错误日志:

Traceback (most recent call last):
  File "/opt/vaultier/venv/bin/celery", line 11, in <module>
    sys.exit(main())
  File "/opt/vaultier/venv/local/lib/python2.7/site-packages/celery/__main__.py", line 30, in main
    main()
  File "/opt/vaultier/venv/local/lib/python2.7/site-packages/celery/bin/celery.py", line 80, in main
    cmd.execute_from_commandline(argv)
  File "/opt/vaultier/venv/local/lib/python2.7/site-packages/celery/bin/celery.py", line 768, in execute_from_commandline
    super(CeleryCommand, self).execute_from_commandline(argv)))
  File "/opt/vaultier/venv/local/lib/python2.7/site-packages/celery/bin/base.py", line 306, in execute_from_commandline
    argv = self.setup_app_from_commandline(argv)
  File "/opt/vaultier/venv/local/lib/python2.7/site-packages/celery/bin/base.py", line 466, in setup_app_from_commandline
    self.app = self.find_app(app)
  File "/opt/vaultier/venv/local/lib/python2.7/site-packages/celery/bin/base.py", line 486, in find_app
    return find_app(app, symbol_by_name=self.symbol_by_name)
  File "/opt/vaultier/venv/local/lib/python2.7/site-packages/celery/app/utils.py", line 222, in find_app
    sym = symbol_by_name(app, imp=imp)
  File "/opt/vaultier/venv/local/lib/python2.7/site-packages/celery/bin/base.py", line 489, in symbol_by_name
    return symbol_by_name(name, imp=imp)
  File "/opt/vaultier/venv/local/lib/python2.7/site-packages/kombu/utils/__init__.py", line 96, in symbol_by_name
    module = imp(module_name, package=package, **kwargs)
  File "/opt/vaultier/venv/local/lib/python2.7/site-packages/celery/utils/imports.py", line 101, in import_from_cwd
    return imp(module, package=package)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named vaultier

supervisord.log

2016-01-11 13:02:51,003 INFO spawned: 'vaultier-celerybeat' with pid 19028
2016-01-11 13:02:51,007 INFO spawned: 'vaultier-worker' with pid 19029
2016-01-11 13:02:52,553 INFO success: vaultier-celerybeat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-01-11 13:02:52,554 INFO success: vaultier-worker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-01-12 08:02:37,285 WARN received SIGTERM indicating exit request
2016-01-12 08:02:37,285 INFO waiting for vaultier-celerybeat, vaultier-worker to die
2016-01-12 08:02:37,340 INFO stopped: vaultier-celerybeat (exit status 0)
2016-01-12 08:02:39,633 WARN received SIGTERM indicating exit request
2016-01-12 08:02:40,668 INFO waiting for vaultier-worker to die
2016-01-12 08:02:43,353 INFO stopped: vaultier-worker (exit status 0)
2016-01-12 08:03:00,065 CRIT Supervisor running as root (no user in config file)
2016-01-12 08:03:00,073 WARN Included extra file "/etc/supervisor/conf.d/vaultier.conf" during parsing
2016-01-12 08:03:00,196 INFO RPC interface 'supervisor' initialized
2016-01-12 08:03:00,196 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2016-01-12 08:03:00,199 INFO daemonizing the supervisord process
2016-01-12 08:03:00,200 INFO supervisord started with pid 609
2016-01-12 08:03:01,230 INFO spawned: 'vaultier-celerybeat' with pid 617
2016-01-12 08:03:01,234 INFO spawned: 'vaultier-worker' with pid 618
2016-01-12 08:03:02,255 INFO success: vaultier-celerybeat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-01-12 08:03:02,255 INFO success: vaultier-worker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-01-12 08:03:02,520 INFO exited: vaultier-worker (exit status 1; not expected)
2016-01-12 08:03:02,529 INFO spawned: 'vaultier-worker' with pid 775
2016-01-12 08:03:02,529 INFO exited: vaultier-celerybeat (exit status 1; not expected)
2016-01-12 08:03:02,620 INFO spawned: 'vaultier-celerybeat' with pid 779
2016-01-12 08:03:02,623 INFO exited: vaultier-worker (exit status 1; not expected)
2016-01-12 08:03:02,710 INFO exited: vaultier-celerybeat (exit status 1; not expected)
2016-01-12 08:03:03,715 INFO spawned: 'vaultier-celerybeat' with pid 783
2016-01-12 08:03:03,719 INFO spawned: 'vaultier-worker' with pid 784
2016-01-12 08:03:03,815 INFO exited: vaultier-celerybeat (exit status 1; not expected)
2016-01-12 08:03:03,820 INFO exited: vaultier-worker (exit status 1; not expected)
2016-01-12 08:03:05,826 INFO spawned: 'vaultier-celerybeat' with pid 791
2016-01-12 08:03:05,830 INFO spawned: 'vaultier-worker' with pid 792
2016-01-12 08:03:05,927 INFO exited: vaultier-celerybeat (exit status 1; not expected)
2016-01-12 08:03:05,929 INFO exited: vaultier-worker (exit status 1; not expected)
2016-01-12 08:03:08,936 INFO spawned: 'vaultier-celerybeat' with pid 799
2016-01-12 08:03:08,940 INFO spawned: 'vaultier-worker' with pid 800
2016-01-12 08:03:09,037 INFO exited: vaultier-celerybeat (exit status 1; not expected)
2016-01-12 08:03:09,040 INFO gave up: vaultier-celerybeat entered FATAL state, too many start retries too quickly
2016-01-12 08:03:09,040 INFO exited: vaultier-worker (exit status 1; not expected)
2016-01-12 08:03:10,041 INFO gave up: vaultier-worker entered FATAL state, too many start retries too quickly

最佳答案

我遇到了这个问题。

安装说明位于 http://docs.rclick.cz/docs/vaultier/en/latest/install.html显示主管的配置,但它们不完整。

说明还提到有一个名为 venv/vaultier-config-examples/supervisord 的设置文件。

venv/vaultier-config-examples/supervisord 文件包含以下设置:

[program:vaultier-worker]
command=/opt/vaultier/venv/bin/celery -A vaultier worker
directory=/opt/vaultier
environment=PATH="/opt/vaultier/venv/bin",DJANGO_SETTINGS_MODULE="vaultier_conf",PYTHONPATH="/opt/vaultier/venv/lib/python2.7/site-packages/vaultier"
user=vaultier
numprocs=1
autostart=true
autorestart=true
startsecs=1
stopwaitsecs = 600

[program:vaultier-celerybeat]
command=/opt/vaultier/venv/bin/celery -A vaultier beat
directory=/opt/vaultier
environment=PATH="/opt/vaultier/venv/bin",DJANGO_SETTINGS_MODULE="vaultier_conf",PYTHONPATH="/opt/vaultier/venv/lib/python2.7/site-packages/vaultier"
user=vaultier
numprocs=1
autostart=true
autorestart=true
startsecs=1
stopwaitsecs = 600

[group:vaultier]
programs=vaultier-celerybeat,vaultier-worker

请注意环境变量还包含一个 PYTHONPATH,它与说明中显示的设置不同。

一旦我使用这些设置,该过程就成功启动了。

关于python - supervisord 没有这样的过程 vaultier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34739001/

相关文章:

python - django 如何与 virtualenv 一起工作?

python - 谷歌应用引擎正则表达式

python - 为什么 Django 的 Meta 是一个老式的类?

phpmyadmin 页面显示源代码,Ubuntu 16.04 安装了 Vagrant 和 Puphpet

linux - 关闭所有正在运行的虚拟机并再次启动自动启动机器

python - 应用程序在微服务架构中通信的最佳方式是什么

javascript - 清除ubuntu上的phantomjs缓存

python - Supervisord 中的“环境”和 'directory' 选项

django - 主管、 celery 、Virtualenvwrapper、Django : Could not import django settings even when pythonpath added to environment

laravel-4 - Laravel 作业和保留状态或保留队列