与主管建立pipenv

时间:2018-08-21 12:13:12

标签: python gunicorn supervisor pipenv

我想部署开发服务器,但启动芹菜和马尼康时遇到了问题。我出于目的使用脚本

celery.sh

#!/bin/bash 
cd /home/dev/app
pipenv run celery -A config worker -B -l info

然后输入start.sh来获取Gunicorn

#!/bin/bash
cd /home/dev/app
pipenv run gunicorn config.wsgi:application -b 127.0.0.1:8005 -w 2 -t 60 \

    --env DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE \

    --env DSN=$SENTRY_DSN \

    --env DATABASE_URL=$DATABASE_URL \

    --log-file - \

    --error-logfile /home/dev/app/errors.log 

这也是我的主管配置

[program:back]
directory=/home/dev/app/
command=/home/dev/bin/start
user=dev
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
stopasgroup=true
killasgroup=true


[program:celery]
directory=/home/dev/app/
command=/home/dev/bin/celery
user=dev
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
stopasgroup=true
killasgroup=true

运行sudo supervisorctl start celery时出现以下错误: /home/dev/bin/celery: line 3: pipenv: command not found

我还添加了以下行,如pipenv文档所述(https://pipenv.readthedocs.io/en/latest/diagnose/

[supervisord]
environment=LC_ALL='en_US.UTF-8',LANG='en_US.UTF-8'

更新

更改了我的主管配置:

[program:back]
directory=/home/dev/app/
command=pipenv run gunicorn config.wsgi:application --bind 127.0.0.1:8005
user=dev
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
stopasgroup=true
killasgroup=true


[program:celery]
directory=/home/dev/app/
command=pipenv run celery -A config:celery_app worker -B -l info
user=dev
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT
stopasgroup=true
killasgroup=true

现在我遇到一个错误:

back: ERROR (no such file)

2 个答案:

答案 0 :(得分:5)

您需要给出明确的古尼康之路。尽管我不确定pipenv,但是您遇到的错误是因为主管试图在目录中找到gunicorn。您应该将配置文件更改为以下内容:

[program:back]
directory=/home/dev/app/
command=/path/to/pipenv run /path/to/gunicorn config.wsgi:application --bind 127.0.0.1:8005

然后,您必须重新启动超级用户才能加载设置。

  

sudo服务主管重新加载

答案 1 :(得分:0)

  

在您的配置文件中。将command=更改为bash -c,然后输入要执行的完整路径和文件   这应该可以解决问题