hydro-ai-helper 2.0.6 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -18,20 +18,32 @@ class BatchSummaryJobModel {
|
|
|
18
18
|
* 唯一部分索引: 同一域+竞赛只能有一个非归档任务
|
|
19
19
|
*/
|
|
20
20
|
async ensureIndexes() {
|
|
21
|
-
//
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
// 清理旧版本索引(两者都不被 partialFilterExpression 支持,曾导致创建失败):
|
|
22
|
+
// v1 用了 $ne;v2 用了 $in(MongoDB < 6.0 报 "unsupported expression in
|
|
23
|
+
// partial index")。逐个尝试删除,不存在则忽略。
|
|
24
|
+
for (const legacy of ['idx_domainId_contestId_active', 'idx_domainId_contestId_active_v2']) {
|
|
25
|
+
try {
|
|
26
|
+
await this.collection.dropIndex(legacy);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
// 旧索引不存在,忽略
|
|
30
|
+
}
|
|
24
31
|
}
|
|
25
|
-
|
|
26
|
-
// 旧索引不存在,忽略
|
|
27
|
-
}
|
|
28
|
-
// 清理重复的活跃任务(v1 索引从未生效,可能已存入重复数据导致 v2 唯一索引创建失败)
|
|
32
|
+
// 清理重复的活跃任务(旧唯一索引可能从未生效,存在重复数据会导致唯一索引创建失败)
|
|
29
33
|
await this.deduplicateActiveJobs();
|
|
34
|
+
// partialFilterExpression 仅支持 等值/$exists/$gt/$gte/$lt/$lte/$type/$and,
|
|
35
|
+
// 不支持 $in 与 $ne。'archived' 在字典序上小于所有活跃状态,因此用
|
|
36
|
+
// { $gt: 'archived' } 即可精确选出活跃集(pending/running/completed/failed/
|
|
37
|
+
// stopped),且在所有 MongoDB 版本上都受支持。下面的不变式校验用于防止将来
|
|
38
|
+
// 新增的状态破坏该字典序假设。
|
|
39
|
+
if (exports.ACTIVE_JOB_STATUSES.some((s) => s <= 'archived')) {
|
|
40
|
+
console.warn('[BatchSummaryJobModel] 状态字典序不变式被破坏:存在 <= "archived" 的活跃状态,部分索引过滤器可能不正确');
|
|
41
|
+
}
|
|
30
42
|
await this.collection.createIndex({ domainId: 1, contestId: 1 }, {
|
|
31
|
-
name: '
|
|
43
|
+
name: 'idx_domainId_contestId_active_v3',
|
|
32
44
|
unique: true,
|
|
33
45
|
partialFilterExpression: {
|
|
34
|
-
status: { $
|
|
46
|
+
status: { $gt: 'archived' },
|
|
35
47
|
},
|
|
36
48
|
});
|
|
37
49
|
console.log('[BatchSummaryJobModel] Indexes created successfully');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchSummaryJob.js","sourceRoot":"","sources":["../../src/models/batchSummaryJob.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,4DAAyD;AAEzD,oFAAoF;AACvE,QAAA,mBAAmB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAoBrG,MAAa,oBAAoB;IAG/B,YAAY,EAAM;QAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAkB,uBAAuB,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QACjB,
|
|
1
|
+
{"version":3,"file":"batchSummaryJob.js","sourceRoot":"","sources":["../../src/models/batchSummaryJob.ts"],"names":[],"mappings":"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"}
|