# processing

Обработка тяжёлых задач. Namespace: `processing`.

```mermaid
flowchart LR
    S3[S3 Proxy]:::infra
    MinIO[(MinIO)]:::data
    Kafka[[Kafka]]:::msg
    RMQ[[RabbitMQ]]:::msg
    BIM[bim]:::peer
    XSection[cross-section]:::peer

    subgraph NS["ns: processing"]
        Frontend[deployment: frontend]:::comp
        API[deployment: api]:::comp
        Engine[deployment: engine<br/>heavy compute]:::comp
        EngineLow[deployment: engine-low<br/>low priority]:::comp
        Frontend --> API
        API --> Engine
        API --> EngineLow
    end

    BIM -->|REST| API
    XSection -->|REST| API
    Kafka -->|consume processing.jobs| API
    Engine -->|publish jobs| RMQ
    EngineLow -->|publish jobs| RMQ
    Engine -->|raw + результаты| S3
    EngineLow -->|raw + результаты| S3
    S3 --> MinIO

    classDef comp fill:#ec4899,stroke:#9d174d,stroke-width:2px,color:#fff
    classDef peer fill:#fce7f3,stroke:#9d174d,color:#000
    classDef data fill:#10b981,stroke:#065f46,color:#fff
    classDef infra fill:#0ea5e9,stroke:#075985,color:#fff
    classDef msg fill:#ef4444,stroke:#991b1b,color:#fff
    style NS fill:#fdf2f8,stroke:#ec4899,stroke-width:2px
```
