# Procedure voor omschakeling en terugkeer — aanpasbaar model

Het geval Capordia is een team dat onafhankelijke batches verwerkt. Het doel
is om de geïdentificeerde werkzaamheden te hervatten zonder hun acceptatie te
verliezen. Een geplande onderbreking is mogelijk. De toelaatbare duur, de
kwaliteitscriteria en de verantwoordelijkheden worden vóór het migratievenster
beslist.

## 1. Verantwoordelijkheden aanwijzen

| Rol | Verantwoordelijkheid | Bewijs dat bewaard moet blijven |
|---|---|---|
| Stuurman van de omschakeling | Machtigt stopzetting, wijziging van autoriteit en hervatting | Beslissing en tijd UTC |
| Verantwoordelijke voor de gegevens | Bevriest de invoer, controleert kopie en inventaris | Geversioneerd manifest en vingerafdrukken |
| Verantwoordelijke voor de verwerking | Stopt de producent, classificeert de pogingen | Batchregister en proceslogboek |
| Verantwoordelijke voor de ontvangst | Vergelijkt uitvoer met de overeengekomen criteria | Resultaten, weigeringen en acceptatieovereenkomst |

Een klein team kan rollen combineren, maar de persoon die de acceptatie
uitspreekt en degene die de oude autoriteit kan stopzetten moeten
identificeerbaar zijn. Het meegeleverde CSV-model legt geen enkele persoonsnaam
op.

## 2. De referentie vastleggen vóór het kopiëren

Ken aan elke batch een stabiele identificatie en een invoerversie toe.
Registreer het pad, de vingerafdruk, de exacte verwerking en het
acceptatiecriterium. Onderscheid een gestarte poging van een geaccepteerd
resultaat. Bewaar de parameters en afhankelijkheden die nodig zijn voor de
hervatting, inclusief de berekeningstoestanden die uw software vereist. Een
bestandsnaam `final` volstaat niet als bewijs van een acceptatie.

In de oefening vertegenwoordigen acht batches 48 fictieve coupons. De
acceptatie berust op een deterministisch resultaat in gehele getallen; dit is
geen model voor GPU-checkpoints. De acht referentie-uitvoeren worden vóór de
onderbreking berekend.

## 3. De instroom van nieuwe werkzaamheden stoppen

Sluit de toelating van nieuwe batches en noteer de laatst toegelaten
identificatie. Stop de worker of wacht op de voorziene hervattingsgrens.
Bevestig dat geen enkel proces van de oude machine nog uitvoer kan
accepteren. Classificeer het register: voltooid, lopend, te hervatten. Bewaar
de sporen van een dubbelzinnige batch in plaats van die bij veronderstelling
als voltooid te verklaren.

In de oefening geeft de onderbreking op LOT-004 3 / 1 / 4. Een herstart zonder
verzoening wordt geweigerd. Het register en zijn resultaten blijven samen.

## 4. Kopiëren, controleren, van autoriteit wisselen

Het doel moet beschikken over de bevroren set, de vereiste toestand en het
compatibele programma. Controleer de vingerafdrukken en de inventaris vanaf
het doel. Blokkeer de hervatting als een invoer ontbreekt, als het manifest
gewijzigd is of als een resultaat niet meer overeenstemt met zijn
vingerafdruk en de acceptatieregel.

In deze oefening sluit `basculer` eerst de bron en kopieert vervolgens de
bestanden nadat de verbindingen zijn gesloten. Het programma opent het doel
pas voor de productie na controle. Imiteer geen hot copy van een actieve
database buiten deze procedure. Een fout laat de bron stopgezet achter.

In een reëel systeem verbiedt het sluiten van een lokaal bestand niet dat een
geïsoleerde oude machine doorgaat. Een exclusief publicatierecht moet worden
opgelegd door het systeem dat de resultaten ontvangt, met weigering van de
oude rechten en bewijs van die weigering. Het huidige programma biedt deze
bescherming niet.

## 5. Verzoenen en afnemen

Controleer dat alle voltooide resultaten aanwezig en aanvaardbaar zijn.
Lopende pogingen zonder acceptatie worden opnieuw te hervatten gesteld na
bevestiging van de stopzetting van hun oude producent. Voer een beperkte
hervatting uit voordat de toelating opnieuw wordt geopend. Tel de verwachte
batches, de unieke geaccepteerde identificaties, de fouten en de hervattingen.
Registreer een acceptatie die losstaat van het loutere einde van het proces.

In het programma: `preparer-reprise` zet de enige lopende batch om in een te
hervatten batch. `executer` herberekent de drie voltooide batches niet. De
eindcontrole vereist acht geaccepteerde uitvoeren die identiek zijn aan de
referentie. LOT-004 heeft twee pogingen, maar slechts één geaccepteerde
uitvoer.

## 6. De terugkeer activeren op een waarneembaar signaal

| Signaal | Voorgesteld besluit voor deze oefening |
|---|---|
| Andere invoerafdruk | Blokkeren vóór verwerking; de bevroren versie terughalen |
| Ontbrekend of gewijzigd resultaat | Ontvangst blokkeren; de batch en de status onderzoeken |
| Twee mogelijke autoriteiten | Herstart stoppen; één enkele autoriteit vaststellen |
| Programma kan niet herstarten | Toelating gesloten houden en de recente status overdragen naar de compatibele omgeving |
| Tijdslimiet van het venster overschreden | Het besluit en de limiet toepassen die het team vóór de omschakeling heeft vastgesteld |

Als het doel al nieuwe resultaten heeft geaccepteerd, zou terugkeren naar de oude kopie
van de bron die acceptaties verliezen. Bevries het doel, exporteer de recente status,
verifieer die en draag die over naar een nieuwe terugkeerlocatie.
Reconcileer de resultaten voordat je opnieuw start. Bij externe effecten
maakt hun inventaris deel uit van de terugkeer; deze oefening produceert er geen.

```text
python exercice.py basculer --source manuel/cible --destination manuel/retour --proprietaire atelier-retour
python exercice.py preparer-reprise --dossier manuel/retour
python exercice.py executer --dossier manuel/retour
python exercice.py comparer --reference manuel/reference --candidat manuel/retour
```

Na deze operatie zijn `manuel/source` en `manuel/cible` afgesloten. Alleen
`manuel/retour` kan werken. Als de kopie mislukt of als de controle een
resultaat weigert, bewaar dan het bewijs en ontgrendel niet twee producenten.

## 7. De migratie afsluiten

Bewaar het manifest, het register voor/na, de afdrukken, de controleresultaten,
de programmaversie, het herstartbesluit en het eventuele terugkeerbesluit.
Verwijder de oude kopie pas na de bewaartermijn die het team
heeft gekozen. De oefening verwijdert geen enkele map; de resources zijn
fictief en kunnen samen met het rapport worden gearchiveerd.
