---
project: "[[NVRam Endurance Simulation]]"
---
# Throw Bootstrap for Worker

- Der Bootstrap für den [[Worker]] ist unabhängig von der TeamArea und grundsätzlich auch unabhängig von der Pod Anzahl. Jedoch gibt es verschiedene TeamArea's mit unterschiedlichen Datenbanken. Damit in jeder Datenbank die FeeVersion/Varianten eingetragen werden müssen alle TeamAreas eine Message zum [[Worker]] senden und alle beantwortet werden.
## Sequencediagram

```mermaid
sequenceDiagram
autonumber
	participant TAO
	participant NES App
	participant Worker
	participant TeamAreaDB
	TAO ->> NES App: Bootstrap (per TeamArea)
	NES App ->> Worker: Bootstrap (per TeamArea)
	Worker ->> NES App: FeeVariants/Versions (per TeamArea)
	NES App ->> TeamAreaDB: save the possible variants and versions
```

```mermaid
flowchart TB

    TAO[TAO]
    NES[NES App]
    Worker[Worker]
    Simulator[Simulator]
    Migrate[Migrate DB if necessary]
    Save[Save FEE Versions/Variants for TeamArea]

    %% 1) Bootstrap
    TAO -->|1 Bootstrap| NES
    TAO -->|1 Bootstrap| Worker

    %% 2) Get FEE Versions/Variants
    Worker -->|2 Get FEE Versions/Variants| Simulator
    Simulator --> Worker

    %% 3) Send FEE Versions/Variants
    Worker -->|3 Send FEE Versions/Variants| NES

    %% NES internal handling
    NES --> Migrate
    NES --> Save

```
