Files
geo/server/migrations_ops/20260520151000_add_scheduler_run_retention_job.up.sql
T
root 49b1ccc961
Backend CI / Backend (push) Successful in 14m44s
Reduce scheduler polling noise
2026-05-21 00:56:43 +08:00

20 lines
1.1 KiB
SQL

CREATE INDEX IF NOT EXISTS idx_scheduler_job_triggers_run_id
ON ops.scheduler_job_triggers (run_id)
WHERE run_id IS NOT NULL;
CREATE INDEX IF NOT EXISTS idx_scheduler_job_triggers_finished_requested
ON ops.scheduler_job_triggers (requested_at ASC, id ASC)
WHERE status IN ('success', 'failed', 'skipped');
INSERT INTO ops.scheduler_jobs
(job_key, display_name, category, description, enabled, schedule_type, interval_seconds, timezone, timeout_seconds, batch_size, config)
VALUES
('scheduler_run_retention', '调度运行记录留存清理', 'ops', '限批删除 15 天以前已结束的调度触发与运行记录,控制高频 scheduler 审计表体积。', true, 'interval', 86400, 'Asia/Shanghai', 300, 5000,
'{"retention_days":15,"batch_size":5000,"max_batches_per_run":100,"dry_run":false,"statement_timeout":"5s","run_at_local":"03:20"}'::jsonb)
ON CONFLICT (job_key) DO UPDATE
SET display_name = EXCLUDED.display_name,
category = EXCLUDED.category,
description = EXCLUDED.description,
config = ops.scheduler_jobs.config || EXCLUDED.config,
updated_at = NOW();