perf(storage): 极简化任务历史并增加保留治理

停止持久化 provider 原始响应、兼容响应快照、attempt/event/outbox 重复 JSON,并由标准任务结果动态生成 Kling/Keling/Volces 兼容响应。

增加事件去重与预算、极简 callback 投递、7/30 天分批清理、安全删除条件、并发迁移索引及可实际恢复的任务域排除备份。历史清理默认关闭,待兼容协议和异步恢复在线验证后单独启用。

验证:Go 全量测试与 go vet、PostgreSQL 18 集成与实际备份恢复、迁移安全测试、bash -n、ShellCheck、Compose 配置和人工发布脚本测试均通过。
This commit is contained in:
2026-07-24 18:23:22 +08:00
parent 09375bfae7
commit 810dcfeee6
46 changed files with 2246 additions and 458 deletions
+18
View File
@@ -14,6 +14,24 @@ import (
"github.com/jackc/pgx/v5/pgxpool"
)
func TestMigrationStatementsSupportsConcurrentIndexes(t *testing.T) {
payload := `-- easyai:migration:no-transaction
CREATE INDEX CONCURRENTLY IF NOT EXISTS first_index ON first_table(id);
-- easyai:migration:statement
CREATE INDEX CONCURRENTLY IF NOT EXISTS second_index ON second_table(id);
`
noTransaction, statements := migrationStatements(payload)
if !noTransaction {
t.Fatal("expected a non-transaction migration")
}
if len(statements) != 2 {
t.Fatalf("statements=%d, want 2", len(statements))
}
if !strings.Contains(statements[0], "first_index") || !strings.Contains(statements[1], "second_index") {
t.Fatalf("unexpected statements: %#v", statements)
}
}
func TestSeedanceInputImageConstraintMigrationKeepsCatalogSnapshotsInSync(t *testing.T) {
payload, err := os.ReadFile("../../migrations/0078_seedance_input_image_constraints.sql")
if err != nil {