- Supabase Edge Functions are stubs (not fully migrated)
- Jobs stuck in "processing" for hours
- No PR data fetched in 5+ days
- Go to Inngest Dashboard: https://app.inngest.com
- Navigate to: Settings > Webhooks (or Apps > contributor-info > Settings)
- Update the webhook URL from:
to:
https://egcxzonpmmcirmgqdrla.supabase.co/functions/v1/inngest-prodhttps://contributor.info/.netlify/functions/inngest-prod
Run this SQL in Supabase SQL Editor:
-- Mark all stuck jobs as failed (processing > 10 minutes)
UPDATE progressive_capture_jobs
SET
status = 'failed',
completed_at = NOW(),
error = 'Job stuck in processing - Inngest endpoint was misconfigured'
WHERE status = 'processing'
AND started_at < NOW() - INTERVAL '10 minutes';Test the endpoint:
curl -X GET https://contributor.info/.netlify/functions/inngest-prodShould return Inngest introspection data (list of functions).
After updating webhook, test with a small repo:
- Go to https://contributor.info/continuedev/continue
- Watch for new PR data to appear
- Check console for any 403 errors (should be gone)
Watch for:
- ✅ Jobs completing successfully (not stuck)
- ✅ New PR data appearing
⚠️ Timeout errors on large repos (>1000 PRs)⚠️ Rate limit warnings
Check logs:
- Inngest Dashboard: Events & Function Runs
- Netlify Dashboard: Functions > Logs
- Supabase: progressive_capture_jobs table
Netlify Functions have 10s timeout (vs Supabase 150s):
- May timeout on very large repos
- Consider using GitHub Actions for bulk processing
- See hybrid-queue-manager.ts routing logic
- Complete Supabase Edge Function migration
- Implement progressive backfill for large repos
- Add circuit breaker for failing syncs
- Monitor and optimize for large repo performance
To prevent future webhook misconfiguration issues:
Automated Stuck Job Cleanup:
- Runs every 15 minutes via pg_cron
- Automatically marks jobs stuck >10 minutes as failed
- Logs warnings when >10 jobs are stuck
Health Check Endpoint:
curl https://egcxzonpmmcirmgqdrla.supabase.co/functions/v1/health-inngestHealth check monitors:
- Stuck jobs (>5 minutes in processing)
- Recent completions (last hour)
- Failure rates (last 2 hours)
- Returns HTTP 503 if critical issues detected
Query stuck jobs manually:
SELECT * FROM stuck_jobs_monitor;
-- or
SELECT * FROM get_stuck_job_summary();Netlify Function URLs:
- Production:
https://contributor.info/.netlify/functions/inngest-prod - Preview:
http://main--contributor-info.netlify.app/.netlify/functions/inngest-prod
Health Checks:
- Inngest health:
https://egcxzonpmmcirmgqdrla.supabase.co/functions/v1/health-inngest - Cleanup status: Check
stuck_jobs_monitorview
Site Details:
- Site ID:
49290020-1b2d-42c0-b1c9-ed386355493e - Primary URL:
https://contributor.info - Netlify Dashboard: https://app.netlify.com/sites/contributor-info
Inngest Event Key:
- Check:
.env.local→INNGEST_EVENT_KEY - Or Netlify: Environment Variables