chore: pr feedbacks

This commit is contained in:
Nicolas Meienberger
2025-12-03 20:24:41 +01:00
parent 16b8be2cd9
commit fc6f628dd4
8 changed files with 994 additions and 181 deletions

View File

@@ -522,13 +522,25 @@ const copyToMirrors = async (
repositoryName: mirror.repository.name,
});
await restic.copy(sourceRepository.config, mirror.repository.config, {
tag: scheduleId.toString(),
});
const releaseSource = await repoMutex.acquireShared(sourceRepository.id, `mirror_source:${scheduleId}`);
const releaseMirror = await repoMutex.acquireShared(mirror.repository.id, `mirror:${scheduleId}`);
try {
await restic.copy(sourceRepository.config, mirror.repository.config, { tag: scheduleId.toString() });
} finally {
releaseSource();
releaseMirror();
}
if (retentionPolicy) {
logger.info(`[Background] Applying retention policy to mirror repository: ${mirror.repository.name}`);
await restic.forget(mirror.repository.config, retentionPolicy, { tag: scheduleId.toString() });
const releaseForget = await repoMutex.acquireExclusive(mirror.repository.id, `forget:mirror:${scheduleId}`);
try {
logger.info(`[Background] Applying retention policy to mirror repository: ${mirror.repository.name}`);
await restic.forget(mirror.repository.config, retentionPolicy, { tag: scheduleId.toString() });
} finally {
releaseForget();
}
}
await db