view init.d/celeryd-upstart.conf @ 2872:17556a81ec6f beta

Make detecting bare Git repositories more robust Git remote repositories may end on '.git', e.g. myrepo.git. Just checking for a repository path to end on '.git' causes 'Repository not found' errors in such a case. To distinguish between bare and normal Git repositories, check if there is a '/.git' part at the end of the repository path (i.e. if GIT_DIR is pointing to '.' (bare) or '.git').
author Stefan Engel <mail@engel-stefan.de>
date Tue, 25 Sep 2012 21:11:23 +0200
parents 58df0b3ed377
children 99ad9d0af1a3
line wrap: on
line source

# celeryd - run the celeryd daemon as an upstart job for rhodecode
# Change variables/paths as necessary and place file /etc/init/celeryd.conf
# start/stop/restart as normal upstart job (ie: $ start celeryd)

description	"Celery for RhodeCode Mercurial Server"
author		"Matt Zuba <matt.zuba@goodwillaz.org"

start on starting rhodecode
stop on stopped rhodecode

respawn

umask 0022

env PIDFILE=/tmp/celeryd.pid
env APPINI=/var/hg/rhodecode/production.ini
env HOME=/var/hg
env USER=hg
# To use group (if different from user), you must edit sudoers file and change
# root's entry from (ALL) to (ALL:ALL)
# env GROUP=hg

script
    COMMAND="/var/hg/.virtualenvs/rhodecode/bin/paster celeryd $APPINI --pidfile=$PIDFILE"
    if [ -z "$GROUP" ]; then
        exec sudo -u $USER $COMMAND
    else
        exec sudo -u $USER -g $GROUP $COMMAND
    fi
end script

post-stop script
    rm -f $PIDFILE
end script