Download deploy/container-entrypoint.sh from Houroux/polymarket-lp-collector-source: direct link, hf CLI and curl.
- Browser
- Download file 1.77 kB
-
https://huggingface.co/Houroux/polymarket-lp-collector-source/resolve/main/deploy/container-entrypoint.sh
- Command line
-
hf download hf://Houroux/polymarket-lp-collector-source/deploy/container-entrypoint.sh
-
curl -L -o container-entrypoint.sh https://huggingface.co/Houroux/polymarket-lp-collector-source/resolve/main/deploy/container-entrypoint.sh
1.77 kB
| set -Eeuo pipefail | |
| DATA_DIR="${DATA_DIR:-/data}" | |
| BACKUP_INTERVAL_SECONDS="${BACKUP_INTERVAL_SECONDS:-120}" | |
| RCLONE_CONFIG_FILE="${RCLONE_CONFIG_FILE:-/tmp/rclone.conf}" | |
| collector_pid="" | |
| backup_pid="" | |
| if ! [[ "$BACKUP_INTERVAL_SECONDS" =~ ^[1-9][0-9]*$ ]]; then | |
| echo "BACKUP_INTERVAL_SECONDS must be a positive integer." >&2 | |
| exit 1 | |
| fi | |
| mkdir -p "$DATA_DIR" | |
| if [[ -n "${RCLONE_CONFIG_B64:-}" ]]; then | |
| printf '%s' "$RCLONE_CONFIG_B64" | base64 --decode >"$RCLONE_CONFIG_FILE" | |
| chmod 600 "$RCLONE_CONFIG_FILE" | |
| export RCLONE_CONFIG="$RCLONE_CONFIG_FILE" | |
| fi | |
| if [[ "${REQUIRE_REMOTE_BACKUP:-false}" == "true" ]]; then | |
| if [[ -n "${HF_TOKEN:-}" ]]; then | |
| : | |
| elif [[ -n "${RCLONE_REMOTE:-}" && -s "$RCLONE_CONFIG_FILE" ]]; then | |
| : | |
| else | |
| echo "Remote backup is required but neither Hugging Face nor rclone is configured." >&2 | |
| exit 1 | |
| fi | |
| fi | |
| stop_children() { | |
| trap - EXIT INT TERM | |
| if [[ -n "$collector_pid" ]]; then | |
| kill -TERM "$collector_pid" 2>/dev/null || true | |
| fi | |
| if [[ -n "$backup_pid" ]]; then | |
| kill -TERM "$backup_pid" 2>/dev/null || true | |
| fi | |
| wait "$collector_pid" 2>/dev/null || true | |
| wait "$backup_pid" 2>/dev/null || true | |
| } | |
| trap stop_children EXIT INT TERM | |
| if [[ -n "${HF_TOKEN:-}" ]]; then | |
| python -m polymarket_collector.hf_backup --loop & | |
| backup_pid=$! | |
| elif [[ -n "${RCLONE_REMOTE:-}" ]]; then | |
| ( | |
| while true; do | |
| if ! ENV_FILE=/dev/null DATA_DIR="$DATA_DIR" \ | |
| /app/scripts/polymarket-backup; then | |
| echo "Backup failed; files are kept locally and will be retried." >&2 | |
| fi | |
| sleep "$BACKUP_INTERVAL_SECONDS" | |
| done | |
| ) & | |
| backup_pid=$! | |
| fi | |
| polymarket-collector & | |
| collector_pid=$! | |
| set +e | |
| wait "$collector_pid" | |
| status=$? | |
| set -e | |
| collector_pid="" | |
| exit "$status" | |