带主管的虚拟芹菜

2024-04-20 12:54:40 发布

您现在位置:Python中文网/ 问答频道 /正文

使用python2.7在Linux Ubuntu中安装supervisor

virtualenv:python3.6+Django2.0+celery4.2

这是芹菜.py文件:

from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'savemoney.settings')
app = Celery('savemoney')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

init文件:

^{pr2}$

我在当地的芹菜工人很好,但当我和主管虚拟经营芹菜时:

  File "/path/env/mysite/mysite/__init__.py", line 5, in <module>
    from .celery import app as celery_app
  File "/path/env/mysite/mysite/celery.py", line 7, in <module>
    app.config_from_object('django.conf:settings', namespace='CELERY')
TypeError: config_from_object() got an unexpected keyword argument 'namespace'

我的芹菜工人设置:

[program:celery.worker] 

directory=/path/env/mysite/

command=/path/env/mysite/celery -A mysite worker -l info
user=root

numprocs=1          
autostart=true      
autorestart=true    
stopsignal=INT
stdout_logfile=/path/env/mysite/celery_worker.log 
stdout_logfile_maxbytes=10MB  
stdout_logfile_backups=10     
 redirect_stderr=false         
stderr_logfile=/path/env/mysite/celery_worker_err.log 
stderr_logfile_maxbytes=10MB 
stderr_logfile_backups=10

我试着:

1.环境

environment=PATH="/path/env/bin",VIRTUAL_ENV="/path/env/mysite/",PYTHONPATH="/path/env/lib/python:/path/env/lib/python3.6/site-packages"

2.命令完整路径

command=/path/env/mysite/celery -A mysite worker -l info

主管状态

supervisor> status
celery.work                      BACKOFF   can't find command '/path/env/mysite/celery'

我指的是其他人的道路:

command=/path/env/mysite/bin/celery -A mysite worker -l info

但我的项目不是“bin”目录

我试过了:

command=/path/env/bin/celery -A mysite worker -l info

错误:

ModuleNotFoundError: No module named 'mysite'

Tags: pathfrompyimportinfoenvappbin