vla / scripts /hf_sync_daemon.sh
anhtld's picture
Complete setup: Add HF sync automation + docs
9f84216 verified
Raw
History Blame Contribute Delete
1.74 kB
#!/bin/bash
# Wrapper script to run auto-sync daemon in background
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
VENV="$PROJECT_ROOT/.venv"
LOG_FILE="$PROJECT_ROOT/logs/auto_sync_hf.log"
PID_FILE="$PROJECT_ROOT/logs/auto_sync_hf.pid"
mkdir -p "$PROJECT_ROOT/logs"
start() {
if [ -f "$PID_FILE" ] && kill -0 $(cat "$PID_FILE") 2>/dev/null; then
echo "❌ Auto-sync daemon already running (PID: $(cat "$PID_FILE"))"
exit 1
fi
echo "πŸš€ Starting auto-sync daemon..."
nohup "$VENV/bin/python" "$SCRIPT_DIR/auto_sync_hf.py" >> "$LOG_FILE" 2>&1 &
echo $! > "$PID_FILE"
echo "βœ… Daemon started (PID: $(cat "$PID_FILE"))"
echo "πŸ“‹ Log: $LOG_FILE"
echo ""
echo "To stop: $0 stop"
echo "To check: $0 status"
}
stop() {
if [ ! -f "$PID_FILE" ]; then
echo "❌ No PID file found"
exit 1
fi
PID=$(cat "$PID_FILE")
if kill -0 "$PID" 2>/dev/null; then
echo "πŸ›‘ Stopping daemon (PID: $PID)..."
kill "$PID"
rm "$PID_FILE"
echo "βœ… Daemon stopped"
else
echo "❌ Daemon not running"
rm "$PID_FILE"
fi
}
status() {
if [ -f "$PID_FILE" ] && kill -0 $(cat "$PID_FILE") 2>/dev/null; then
echo "βœ… Daemon running (PID: $(cat "$PID_FILE"))"
echo "πŸ“‹ Log tail:"
tail -10 "$LOG_FILE"
else
echo "❌ Daemon not running"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 2
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac