CentOS的init.d芹菜脚本?

CentOS的init.d芹菜脚本?,centos,celery,Centos,Celery,我正在写一个使用芹菜的Django应用程序。到目前为止,我一直在Ubuntu上运行,但我正在尝试部署到CentOS Cellery为基于Debian的发行版提供了一个很好的init.d脚本,但它在基于RedHat的发行版(如CentOS)上不起作用,因为它使用启动-停止守护进程。是否有人为RedHat提供了使用相同变量约定的等效文件,以便我可以重用/etc/default/celeryd文件 因为我没有得到答案,我试着用我自己的: #!/bin/sh # # chkconfig: 345 99

我正在写一个使用芹菜的Django应用程序。到目前为止,我一直在Ubuntu上运行,但我正在尝试部署到CentOS


Cellery为基于Debian的发行版提供了一个很好的init.d脚本,但它在基于RedHat的发行版(如CentOS)上不起作用,因为它使用启动-停止守护进程。是否有人为RedHat提供了使用相同变量约定的等效文件,以便我可以重用/etc/default/celeryd文件

因为我没有得到答案,我试着用我自己的:

#!/bin/sh
#
# chkconfig: 345 99 15
# description: celery init.d script

# Defines the following variables
# CELERYD_CHDIR
# DJANGO_SETTINGS_MODULE
# CELERYD
# CELERYD_USER
# CELERYD_GROUP
# CELERYD_LOG_FILE

CELERYD_PIDFILE=/var/run/celery.pid

if test -f /etc/default/celeryd; then
    . /etc/default/celeryd
fi


# Source function library.
. /etc/init.d/functions

# Celery options
CELERYD_OPTS="$CELERYD_OPTS -f $CELERYD_LOG_FILE -l $CELERYD_LOG_LEVEL"

if [ -n "$2" ]; then
    CELERYD_OPTS="$CELERYD_OPTS $2"
fi

start () {
        cd $CELERYD_CHDIR
        daemon --user $CELERYD_USER --pidfile $CELERYD_PIDFILE $CELERYD $CELERYD_OPTS &
}

stop () {
        if [[ -s $CELERYD_PIDFILE ]] ; then
            echo "Stopping Celery"
            killproc -p $CELERYD_PIDFILE python
            echo "done!"
            rm -f $CELERYD_PIDFILE
        else
            echo "Celery not running."
        fi    
}

check_status() {
    status -p $CELERYD_PIDFILE python
}


case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        check_status
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac
最好在这里解决:


你应该会很好地使用这个

嗨,洛林,我和你在这方面处于同一阶段。我看了基础文档,但没能在CentOS上运行,这对你有用吗?阿佩尔:我已经有一段时间没看这个了。我认为这几乎奏效了。我遇到的问题是,如果我执行类似于“ssh节点服务celeryd restart”的操作,那么它将重新启动服务器,但我没有得到提示。这意味着它不能用fabric之类的东西正常自动化。看起来“官方”回购协议可能是这样的