mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-10-20 14:47:18 +02:00
perf: bound request work and resource usage (#866)
* perf: bound request work and resource usage * fix: address performance review regressions * fix: guard content expiration and dashboard state * fix: tolerate cache outages and retire derived paths * fix: revalidate expiration claims and status pagination * fix: retry interrupted repository metadata cleanup * fix: retire obsolete content cache storage * fix: activate tree metadata and recheck expiration claims * fix: fence cache publication across expiration * fix: recover staged trees and enforce cache lifecycle cleanup * fix: prune expired transforms during database outages * fix: finish conference removals and reload expiration candidates
This commit is contained in:
1 parent
32722169a2
commit
6434337923
74 files changed
+4752
-553
No files matched your search
@@ -33,9 +33,7 @@ export default class Conference {
|
||||
* Expire the conference
|
||||
*/
|
||||
async expire() {
|
||||
await Promise.all(
|
||||
(await this.repositories()).map(async (conf) => await conf.expire())
|
||||
);
|
||||
for (const repo of await this.repositories()) await repo.markExpired(true);
|
||||
await this.updateStatus("expired");
|
||||
}
|
||||
|
||||
@@ -44,9 +42,12 @@ export default class Conference {
|
||||
*/
|
||||
async remove() {
|
||||
await this.updateStatus("removed");
|
||||
await Promise.all(
|
||||
(await this.repositories()).map(async (conf) => await conf.remove())
|
||||
);
|
||||
const failures: unknown[] = [];
|
||||
for (const repo of await this.repositories()) {
|
||||
try { await repo.remove(); }
|
||||
catch (error) { failures.push(error); }
|
||||
}
|
||||
if (failures.length) throw new AggregateError(failures, "Conference repository removal failed");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user