mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-20 02:51:12 -05:00
40 lines
1.9 KiB
SQL
40 lines
1.9 KiB
SQL
-- Set up automated cron jobs for monitoring and anomaly detection
|
|
|
|
-- 1. Detect anomalies every 5 minutes
|
|
SELECT cron.schedule(
|
|
'detect-anomalies-every-5-minutes',
|
|
'*/5 * * * *', -- Every 5 minutes
|
|
$$
|
|
SELECT net.http_post(
|
|
url := 'https://ydvtmnrszybqnbcqbdcy.supabase.co/functions/v1/detect-anomalies',
|
|
headers := '{"Content-Type": "application/json", "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InlkdnRtbnJzenlicW5iY3FiZGN5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTgzMjYzNTYsImV4cCI6MjA3MzkwMjM1Nn0.DM3oyapd_omP5ZzIlrT0H9qBsiQBxBRgw2tYuqgXKX4"}'::jsonb,
|
|
body := jsonb_build_object('scheduled', true)
|
|
) as request_id;
|
|
$$
|
|
);
|
|
|
|
-- 2. Collect metrics every minute
|
|
SELECT cron.schedule(
|
|
'collect-metrics-every-minute',
|
|
'* * * * *', -- Every minute
|
|
$$
|
|
SELECT net.http_post(
|
|
url := 'https://ydvtmnrszybqnbcqbdcy.supabase.co/functions/v1/collect-metrics',
|
|
headers := '{"Content-Type": "application/json", "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InlkdnRtbnJzenlicW5iY3FiZGN5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTgzMjYzNTYsImV4cCI6MjA3MzkwMjM1Nn0.DM3oyapd_omP5ZzIlrT0H9qBsiQBxBRgw2tYuqgXKX4"}'::jsonb,
|
|
body := jsonb_build_object('scheduled', true)
|
|
) as request_id;
|
|
$$
|
|
);
|
|
|
|
-- 3. Data retention cleanup daily at 3 AM
|
|
SELECT cron.schedule(
|
|
'data-retention-cleanup-daily',
|
|
'0 3 * * *', -- Daily at 3:00 AM
|
|
$$
|
|
SELECT net.http_post(
|
|
url := 'https://ydvtmnrszybqnbcqbdcy.supabase.co/functions/v1/data-retention-cleanup',
|
|
headers := '{"Content-Type": "application/json", "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InlkdnRtbnJzenlicW5iY3FiZGN5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTgzMjYzNTYsImV4cCI6MjA3MzkwMjM1Nn0.DM3oyapd_omP5ZzIlrT0H9qBsiQBxBRgw2tYuqgXKX4"}'::jsonb,
|
|
body := jsonb_build_object('scheduled', true)
|
|
) as request_id;
|
|
$$
|
|
); |