26 lines
No EOL
1.4 KiB
Text
26 lines
No EOL
1.4 KiB
Text
@startuml insight_quota_flow
|
||
skinparam sequenceMessageAlign center
|
||
|
||
Title Алгоритм работы сервиса по API
|
||
|
||
autonumber
|
||
|
||
participant "event_server" as EventServer
|
||
participant "task_generator" as ITG_API
|
||
database "Mongo\ninsight.scenarios" as Mongo
|
||
queue "NSQ\ninsight.task_processor.input" as NSQ
|
||
|
||
EventServer -> ITG_API : На API /events\nприсылается JSON события.
|
||
ITG_API -> Mongo : Запрос Insight сценариев пользователя из события
|
||
Mongo --> ITG_API : ""Optional[List]"" сценариев пользователя
|
||
alt Запрос пришел с пустым списком
|
||
ITG_API --> EventServer : Возврат пустого списка (т.к. таски никакие не созданы)
|
||
else Список сценариев не пуст
|
||
ITG_API -> ITG_API : Создаем список\n""tasks""\nКуда будем писать созданные таски ""Tasks""
|
||
loop Для каждого сценария
|
||
ITG_API -> ITG_API : Создаем объект ""Task""
|
||
ITG_API -> NSQ : Отправка в топик брокера сформированной таски
|
||
ITG_API -> ITG_API : Добавляем их `id` в список ""tasks""
|
||
end
|
||
ITG_API --> EventServer : Возврат списка ""ID's"" созданных тасок
|
||
end |