/home/vagrant/digdag-server/bin/digsv.sh
nohup /usr/local/bin/digdag server --config ~/.config/digdag/config --log ~/digdag-server/log/server.log --log-level info --task-log ~/digdag-server/task-log >> ~/digdag-server/log/server_stdout.log 2>&1 &
ヘルプ(digdag server help
)に-c, --config PATH.properties Configuration file (default: /home/vagrant/.config/digdag/config)
とあるが上記のように指定しないとエラーになる
しかし同じヘルプに-c, --config PATH.properties server configuration property path
という行もある(「-c, --config」についての行が2行重複している)
http://docs.digdag.io/command_reference.html#server-mode-commands の「-c, --config」の説明にはデフォルトがあるとは書いていない(ちなみにこの説明には「See Digdag server for details.」とあるがリンク切れ)
デフォルトありに改善頂けると嬉しい(ヘルプの重複行やリンク切れも)
コマンドラインでしか指定できない設定とconfigファイルでしか指定できない設定がある
全てconfigファイルに指定できるよう改善頂けると嬉しい
Digdagサーバを複数号機起動する場合、タスクログは全号機が同じディレクトリに出力するのがお勧め
→ NFSの必要性
/etc/init.d/digdag-server
#! /bin/bash
# chkconfig: 2345 90 60
. /etc/init.d/functions
PROG=digdag-server
CMD=/home/vagrant/digdag-server/bin/digsv.sh
USER=vagrant
PID=`pgrep -f " /usr/local/bin/digdag server "`
EXIST=$?
RETVAL=0
start() {
echo -n "Starting $PROG: "
if [ $EXIST -eq 0 ]; then
echo_failure
echo
echo -n "$PROG is already running."
RETVAL=1
else
sudo -u $USER -i $CMD
sleep 1
PID=`pgrep -f " /usr/local/bin/digdag server "`
EXIST=$?
if [ $EXIST -eq 0 ]; then
echo_success
else
echo_failure
RETVAL=1
fi
fi
echo
return $RETVAL
}
stop() {
echo -n "Stopping $PROG: "
if [ $EXIST -eq 0 ]; then
kill $PID
sleep 1
pgrep -f " /usr/local/bin/digdag server " >& /dev/null
EXIST=$?
if [ $EXIST -eq 0 ]; then
echo_failure
RETVAL=1
else
echo_success
RETVAL=0
fi
else
echo_failure
echo
echo -n "$PROG is not running."
RETVAL=1
fi
echo
return $RETVAL
}
status() {
if [ $EXIST -eq 0 ]; then
echo "$PROG (pid $PID) is running..."
else
echo "$PROG is stopped"
RETVAL=3
fi
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
「pgrep -f " /usr/local/bin/digdag server "」って何回も書くのやめたいけどうまくできない...
立ち上がるまで/終了するまでsleep 1
ってのも荒っぽいが今のところあまり困っていない
2016/11/4
sudoに-i追加
(rb>にてrubyコマンド(/usr/local/rbenv/shims/ruby)がみつからなかったため)
TODO
stdout/stderrリダイレクトログのローテート
これ使えるかも → http://blog.hansode.org/archives/52520908.html
通常のログはサイズベースでローテートされる → https://docs.digdag.io/command_reference.html#common-options