1

我正在使用 upstart 来启动这个脚本:

pre-start script
    sudo export WORKON_HOME=~/.envs
    sudo source /usr/local/bin/virtualenvwrapper.sh
    sudo workon env1
end script

start on runlevel [2345]
stop on runlevel [!2345]

exec python /home/radiant/www/staging/django_project/manage.py celerycam > /home/radiant/www/staging/logs/celerycam.log

respawn

respawn limit 10 90

没有pre-start script它的工作,我得到这个脚本块:

开始:作业无法启动


我的修复:

而不是使用虚拟环境的 python 解释器进行采购工作正常 :)

之前应该考虑过这个!


任何想法这可能是什么?

4

2 回答 2

2

我不是新贵专家 - 但我认为问题在于您正在尝试 sudo 这些命令。如果 upstart 正在使用股票“sudo”,那么您正在尝试将 shell 函数作为命令运行 - 这是您无法做到的。

尝试删除其中的 sudo 部分以查看它是否有效。

pre-start script
    export WORKON_HOME=~/.envs
    source /usr/local/bin/virtualenvwrapper.sh
    workon env1
end script
于 2011-02-24T05:17:20.737 回答
1

这可能是~在 Upstart 下运行时解决的问题。尝试为其指定绝对路径WORKON_HOME并检查作业运行的用户是否具有所有相关目录和文件的权限。

于 2010-12-29T16:04:39.893 回答