Session 7b: Fix pipeline - body parser, Redis queueing, poller visibility, auto-start
This commit is contained in:
Executable
+34
@@ -0,0 +1,34 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# VYNDR API container entrypoint.
|
||||
#
|
||||
# Boots the PM2-managed pollers in daemon mode, then execs the Express
|
||||
# server in the foreground so it runs as PID 1 (which Docker's signal
|
||||
# forwarding + healthcheck expect). PM2 daemonizes its supervisor inside
|
||||
# the container; the pollers keep running while Express handles requests.
|
||||
#
|
||||
# On container restart (Coolify redeploy) PM2's state is gone — that's
|
||||
# fine, this script reseeds it. Pollers are idempotent: status keys live
|
||||
# in Redis with TTLs, so a restart at most re-processes one game.
|
||||
#
|
||||
# Why a separate file from scripts/start.sh: that one is the local-dev
|
||||
# launcher (boots the Python NBA service + Node API in the host shell).
|
||||
# This one is the production container entrypoint.
|
||||
|
||||
set -e
|
||||
|
||||
# PM2 needs a writable HOME for its run-dir. The vyndr non-root user
|
||||
# can't write to /root, so park PM2's metadata in /app/.pm2.
|
||||
export PM2_HOME="${PM2_HOME:-/app/.pm2}"
|
||||
mkdir -p "$PM2_HOME"
|
||||
|
||||
echo "[docker-entrypoint] PM2_HOME=$PM2_HOME"
|
||||
echo "[docker-entrypoint] booting pollers via PM2"
|
||||
cd /app/poller
|
||||
pm2 start ecosystem.config.js || \
|
||||
echo "[docker-entrypoint] PM2 start failed — continuing without pollers so the API still serves"
|
||||
pm2 list || true
|
||||
|
||||
cd /app
|
||||
echo "[docker-entrypoint] starting Express server (PID 1)"
|
||||
exec node src/server.js
|
||||
@@ -3,7 +3,7 @@ const { createClient } = require('@supabase/supabase-js');
|
||||
|
||||
const supabase = createClient(
|
||||
process.env.SUPABASE_URL,
|
||||
process.env.SUPABASE_SERVICE_KEY
|
||||
process.env.SUPABASE_SERVICE_ROLE_KEY || process.env.SUPABASE_SERVICE_KEY
|
||||
);
|
||||
|
||||
const EXPECTED_TABLES = ['users', 'picks', 'scan_sessions', 'bets', 'outcomes', 'performance'];
|
||||
|
||||
Reference in New Issue
Block a user