57 lines
1.8 KiB
Bash
Executable File
57 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# rc.d script for the vrobbler Celery beat scheduler.
|
|
#
|
|
# PROVIDE: vrobbler_celerybeat
|
|
# REQUIRE: NETWORKING postgresql redis
|
|
# KEYWORD: shutdown
|
|
#
|
|
# Installation (on the FreeBSD jail):
|
|
#
|
|
# install -m 0555 rc.d/vrobbler_celerybeat /usr/local/etc/rc.d/vrobbler_celerybeat
|
|
# sysrc vrobbler_celerybeat_enable="YES"
|
|
# service vrobbler_celerybeat start
|
|
#
|
|
# Configuration (via sysrc or /etc/rc.conf):
|
|
#
|
|
# vrobbler_celerybeat_bin - path to celery (default: /usr/local/bin/celery)
|
|
# vrobbler_celerybeat_user - user to run as (default: root)
|
|
# vrobbler_celerybeat_flags - extra daemon(8) flags
|
|
#
|
|
# NOTE: do not name the celery path knob "${name}_program". FreeBSD's
|
|
# rc.subr(8) overrides $command with ${name}_program whenever it is set,
|
|
# which would replace the daemon(8) wrapper with celery itself.
|
|
#
|
|
# The command is run under daemon(8) with a supervisor pidfile (-P) and
|
|
# restart-on-crash (-R), so beat is automatically restarted if it dies.
|
|
#
|
|
# The schedule state is persisted to /var/db/vrobbler/celerybeat-schedule so it
|
|
# survives restarts (beat picks up the CELERY_BEAT_SCHEDULE entries in
|
|
# settings.py). If you run beat as a non-root user, make sure it can write
|
|
# /var/db/vrobbler and /var/log/vrobbler_celerybeat.log. Rotate the log with
|
|
# newsyslog(8).
|
|
#
|
|
. /etc/rc.subr
|
|
|
|
name="vrobbler_celerybeat"
|
|
rcvar="vrobbler_celerybeat_enable"
|
|
|
|
load_rc_config ${name}
|
|
|
|
: ${vrobbler_celerybeat_enable:="NO"}
|
|
: ${vrobbler_celerybeat_bin:="/usr/local/bin/celery"}
|
|
|
|
pidfile="/var/run/${name}.pid"
|
|
|
|
command="/usr/sbin/daemon"
|
|
command_args="-f -P ${pidfile} -R 5 -t ${name} ${vrobbler_celerybeat_bin} -A vrobbler beat -n beat@%h -l info --schedule /var/db/vrobbler/celerybeat-schedule --logfile /var/log/${name}.log"
|
|
|
|
start_precmd="vrobbler_celerybeat_prestart"
|
|
|
|
vrobbler_celerybeat_prestart()
|
|
{
|
|
mkdir -p /var/db/vrobbler
|
|
}
|
|
|
|
run_rc_command "$1"
|