Files @ 8ed615e77e50
Branch filter:

Location: kallithea/init.d/kallithea-daemon-gentoo

Thomas De Schampheleire
cli: fix celery-run

The conversion of celery_args (a tuple) into a list is mandatory, otherwise
following error happens on celery-run:

Traceback (most recent call last):
File ".../bin/kallithea-cli", line 11, in <module>
load_entry_point('Kallithea', 'console_scripts', 'kallithea-cli')()
File ".../lib/python2.7/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File ".../lib/python2.7/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File ".../lib/python2.7/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File ".../lib/python2.7/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File ".../lib/python2.7/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File ".../bin/kallithea_cli_base.py", line 52, in runtime_wrapper
return annotated(*args, **kwargs)
File ".../bin/kallithea_cli_celery.py", line 39, in celery_run
return cmd.run_from_argv('kallithea celery worker', celery_args)
File ".../lib/python2.7/site-packages/celery/bin/worker.py", line 177, in run_from_argv
*self.parse_options(prog_name, argv, command))
File ".../lib/python2.7/site-packages/celery/bin/base.py", line 412, in parse_options
return self.parser.parse_args(arguments)
File "/usr/lib64/python2.7/optparse.py", line 1404, in parse_args
args = largs + rargs
TypeError: can only concatenate list (not "tuple") to list

The problem was introduced in 1d539bb18165 in last minute changes made by Mads.
#!/sbin/runscript
########################################
#### THIS IS AN GENTOO INIT.D SCRIPT####
########################################

APP_NAME="kallithea"
APP_HOMEDIR="username/python_workspace"
APP_PATH="/home/$APP_HOMEDIR/$APP_NAME"

CONF_NAME="production.ini"

PID_PATH="$APP_PATH/$APP_NAME.pid"
LOG_PATH="$APP_PATH/$APP_NAME.log"

PYTHON_PATH="/home/$APP_HOMEDIR/v-env"

RUN_AS="username"

DAEMON="$PYTHON_PATH/bin/gearbox"

DAEMON_OPTS="serve --daemon \
--user=$RUN_AS \
--group=$RUN_AS \
--pid-file=$PID_PATH \
--log-file=$LOG_PATH -c $APP_PATH/$CONF_NAME"

#extra options
opts="${opts} restartdelay"

depend() {
    need nginx
}

start() {
    ebegin "Starting $APP_NAME"
    start-stop-daemon -d $APP_PATH -e PYTHON_EGG_CACHE="/tmp" \
        --start --quiet \
        --pidfile $PID_PATH \
        --user $RUN_AS \
        --exec $DAEMON -- $DAEMON_OPTS
    eend $?
}

stop() {
    ebegin "Stopping $APP_NAME"
    start-stop-daemon -d $APP_PATH \
        --stop --quiet \
        --pidfile $PID_PATH || echo "$APP_NAME - Not running!"
    if [ -f $PID_PATH ]; then
        rm $PID_PATH
    fi
    eend $?
}

restartdelay() {
    #stop()
    echo "sleep3"
    sleep 3

    #start()
}