Skip to content

Recommended deployment and verification flow for production.

Deploys all workers in dependency order, then the dashboard, public site, and docs:

Terminal window
pnpm deploy:all
Terminal window
pnpm deploy:worker-log-processor
pnpm deploy:worker-rate-limiter
pnpm deploy:worker-notification
pnpm deploy:worker-ingestion-process
pnpm deploy:worker-ingestion-orchestrator
pnpm deploy:worker-consumer-api
pnpm deploy:dashboard
pnpm deploy:marketing
pnpm deploy:docs

List stuck jobs older than five minutes:

Terminal window
curl -H "CF-Access-Client-Id: $CF_ACCESS_CLIENT_ID" \
-H "CF-Access-Client-Secret: $CF_ACCESS_CLIENT_SECRET" \
"https://dash.legaciti.org/api/ingest/stuck?threshold_seconds=300&limit=50"

Force-fail one active stuck job:

Terminal window
curl -X POST \
-H "CF-Access-Client-Id: $CF_ACCESS_CLIENT_ID" \
-H "CF-Access-Client-Secret: $CF_ACCESS_CLIENT_SECRET" \
-H "Content-Type: application/json" \
-d '{"orcid_id":"0000-0002-8685-5194","error_message":"manual unblock"}' \
"https://dash.legaciti.org/api/ingest/stuck/<job_id>/force-fail"