---
# System prepended metadata

title: 'RT : обработка через отложенную задачу'

---


# RT : обработка через отложенную задачу

```mermaid

  sequenceDiagram
    actor Оператор
    Оператор->>АБС: делает списание в форме RT
    activate АБС
    АБС->>ПЦ: checkAccountBalance
    ПЦ->>ПЦ: проверка достаточности баланса
    ПЦ->>АБС: success
    АБС->>Оператор: уведомление о сохранении не авторизованной проводки
    deactivate АБС
    АБС->>АБС: создание переодического задания
    alt успешное списание
    activate АБС
    АБС->>ПЦ: debitAccount
    ПЦ->>ПЦ: создание транзакции на списание
    ПЦ->>АБС: success
    АБС->>АБС: авторизация проводки
    deactivate АБС
    else ошибка списания
    activate АБС
    АБС->>ПЦ: debitAccount
    ПЦ->>ПЦ: недостаточно средств
    ПЦ->>АБС: fail
    АБС->>АБС: обновление проводки RT с кодом ошибки
    deactivate АБС
    else повторная попытка списания
    activate АБС
    АБС->>ПЦ: debitAccount
    ПЦ->>ПЦ: создание транзакции на списание
    ПЦ --x АБС: success
    АБС->>АБС: внутренняя ошибка
    АБС->>ПЦ: debitAccount
    ПЦ->>ПЦ: обработка повторного запроса
    ПЦ->>АБС: success
    deactivate АБС
    end
    
    loop периодически
        Оператор->АБС: проверка статуса в RT
    end  
      
    
```

## Fund transfer : fail


```mermaid

  sequenceDiagram
    actor Оператор
    Оператор->>АБС: делает списание в форме RT
    activate АБС
    АБС->>ПЦ: debitAccount
    ПЦ->>ПЦ: сохранение списания
    ПЦ->>АБС: success
    АБС->>АБС: fatal error
    АБС->>Оператор: timeout
    deactivate АБС
    

    
```

