Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Установка:

git clone https://github.com/IIIUBA/lms.git
go run main.go

API:

  • Отправить выражение, где " 2p3*4 " ваш пример | в http нельзя использовать +, поэтому вместо него пишите - p
curl -X POST -d "expression=2p3*4" http://localhost:8080/expression
  • Статус выражений.
curl -X GET http://localhost:8080/expressions
  • Статус агентов.
curl -X GET http://localhost:8080/agents_status
  • Добавить агента(ов), где " add=2 " кол-во агентов
curl -X POST -d "add=2" http://localhost:8080/computation_agent

Как это работает?

  1. ArithmeticExpression: представляет одно выражение с его идентификатором, строкой выражения, состоянием, временем создания, временем последнего обновления, результатом оценки и оцененным флагом.

  2. ExpressionStore: хранит объекты ArithmeticExpression и управляет ими потокобезопасным способом с использованием карты.

  3. ComputationAgent: имитирует работника, который обрабатывает выражения в фоновом режиме. У него есть идентификатор и состояние (простой, рабочий).

  4. ComputationManager: контролирует создание и управление ComputationAgents, назначает им выражения и отслеживает их состояния.

Наглядная схема:

Диаграмма потока данных:

+---------------+       +-------------------+       +----------------------------+
| Пользователь  | ----> |    HTTP-сервер    | ----> |     Менеджер вычислений    |
+---------------+       +-------------------+       +----------------------------+
                                                                   |
                                                                   v
                                                     +-------------------------+       +------------------+        +------------------+
                                                     |   Хранилище выражений   | ----> | Агент вычислений |  ----> |    Результат     |
                                                     +-------------------------+       +------------------+        +------------------+

Диграмма связей:

+----------------------+        +---------------------+ 
| ArithmeticExpression | ----> | (1) ExpressionStore  |
+----------------------+        +---------------------+      
                                           |
                                           v
                                 +-------------------+       +--------------------------+
                                 | ComputationAgent  | ----> | (2) ComputationManager   |
                                 +-------------------+       +--------------------------+

About

Api для отложенного калькулятора на Curl запросах

Resources

Stars

1 star

Watchers

1 watching

Forks

Used by

Contributors

Languages