Lagringstid
Hur registrets nattliga rensning och veckovisa skräpsamling avgör vilka avbildningar och cacheposter som tas bort, och inställningarna bakom dem.
Två jobb hindrar registret från att växa obegränsat: Registry-modulens rensning, som avgör vilka avbildningar av appar och funktioner som ska tas bort, och en veckovis skräpsamling, som frigör lagringen som borttaget och inaktuellt innehåll lämnar efter sig.
Rensningen
Rensningen körs varje natt klockan 03:00 UTC. Den arbetar utifrån registrets granskningslogg: varje förråd som har tagit emot en push är en kandidat, och varje distinkt avbildning som pushats dit antingen behålls eller tas bort. Den behåller en avbildning när något av följande gäller:
- Den används. Plattformens operator rapporterar, för varje app och funktion, vilka avbildningar dess körande poddar använder — en pinning. Den rapporterar igen efter varje lyckad avstämning av appen eller funktionen, även när ingen podd körs, och varje rapport upphör att gälla efter en timme.
- Den är bland de senast pushade — två som standard.
- Den pushades nyligen — inom de senaste 90 dagarna som standard.
En app kan åsidosätta de två sista värdena med retention.keepLast och retention.keepForDays på
appen. Ett förråd utan någon giltig rapport hoppas över med orsaken no-pin-data: rensningen kan
inte bevisa att dess avbildningar är oanvända, så den tar inte bort något där. Det gäller förråd
för statiska webbappar, som inte får några pinningar, och förråd för borttagna appar och
funktioner, vars sista rapport upphör att gälla en timme efter borttagningen — rensningen tar
aldrig bort deras avbildningar. En app eller funktion vars avstämningar har misslyckats i mer än en
timme hoppas över på samma sätt.
Varje borttagning registreras i granskningsloggen som delete, med status 202, eller 500 när
borttagningen misslyckades. Vid en torrkörning tar rensningen inte bort något och registrerar
delete.dryrun, med status 0, för varje avbildning som den skulle ha tagit bort.
Viktigt
I den här versionen hittar rensningen inga pushade avbildningar att bedöma: varje körning rapporterar
0sedda avbildningar och tar inte bort något, och en förhandsvisning returnerar tomma listor. Tills det ändras frigörs registerlagring bara av skräpsamlingen nedan.
Skräpsamling
CronJobben stackship-registry-gc i stackship-system körs varje söndag klockan 04:00 UTC,
efter rensningen. Den:
- växlar registret till skrivskyddat läge;
- tar bort poster i byggcachen som inte byggts om på 14 dagar;
- kör registrets skräpsamling, som tar bort otaggade avbildningar och frigör den lagring som ingen avbildning längre hänvisar till;
- växlar tillbaka registret till läs- och skrivläge.
Medan den körs misslyckas pushar, så ett bygge som blir klart under den tiden misslyckas och måste startas igen. Varje växling startar om registret, och medan det startar om misslyckas även hämtningar: en podd som startar just då försöker hämta sin avbildning igen. Om jobbet missar sin starttid med mer än tio minuter hoppar det över den veckan.
Inställningar
Rensningen läser sina inställningar från miljön i driftsättningen module-registry.
| Inställning | Standard | Betydelse |
|---|---|---|
Registry__Retention__Enabled |
true |
Om den nattliga rensningen körs över huvud taget |
Registry__Retention__DryRun |
true; installationsprogrammet sätter false |
Registrera vad som skulle tas bort i stället för att ta bort det |
Registry__Retention__SweepCron |
0 0 3 * * * |
När rensningen körs: ett cron-uttryck med sex fält, inklusive sekunder, i UTC |
Registry__Retention__DefaultKeepLast |
2 |
Hur många av de senast pushade avbildningarna som behålls |
Registry__Retention__DefaultKeepForDays |
90 |
Behåll varje avbildning som pushats inom så många dagar |
Registry__AuditRetentionDays |
90 |
Hur många dagar granskningshändelser sparas; 0 tar bort varje händelse vid varje daglig städning |
Rensningen känner bara till de pushar som fortfarande finns i granskningsloggen, så en avbildning vars push har fallit ur loggen tas aldrig bort av den.
För att se tidigare körningar, förhandsvisa ett förråd eller starta en körning själv, se Rensningskörningar.