Files
sbnews/server/public/dongqiudi-crawler/docker/entrypoint.sh
T
2026-06-11 16:22:12 +08:00

35 lines
956 B
Bash

#!/usr/bin/env bash
set -euo pipefail
export TZ="${TZ:-Asia/Shanghai}"
TASKS_FILE="${DQD_TASKS_FILE:-/app/config/crawler_tasks.yaml}"
PYTHON_BIN="${PYTHON_BIN:-/usr/local/bin/python}"
mkdir -p /app/logs /app/data/locks /etc/sport-era-crawler
python - <<'PY'
import os
import shlex
from pathlib import Path
env_file = Path("/etc/sport-era-crawler/env.sh")
with env_file.open("w", encoding="utf-8") as fp:
for key, value in sorted(os.environ.items()):
if key.startswith("DQD_") or key in {"TZ", "PYTHONPATH", "PYTHONUNBUFFERED"}:
fp.write(f"export {key}={shlex.quote(value)}\n")
env_file.chmod(0o600)
PY
cd /app
"${PYTHON_BIN}" scripts/docker_task_runner.py render-cron \
--tasks "${TASKS_FILE}" \
--output /etc/cron.d/sport-era-crawler \
--python-bin "${PYTHON_BIN}" \
--app-dir /app
touch /var/log/cron.log
echo "[crawler] cron file rendered from ${TASKS_FILE}"
cat /etc/cron.d/sport-era-crawler
exec cron -f