mirror of
https://github.com/valitydev/liminator.git
synced 2024-11-06 01:15:21 +00:00
d0763cc5b0
Bumps [org.springframework:spring-webmvc](https://github.com/spring-projects/spring-framework) from 6.1.6 to 6.1.13. - [Release notes](https://github.com/spring-projects/spring-framework/releases) - [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.6...v6.1.13) --- updated-dependencies: - dependency-name: org.springframework:spring-webmvc dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> |
||
---|---|---|
.github | ||
src | ||
.gitignore | ||
pom.xml | ||
README.md | ||
renovate.json |
Liminator
Liminator - вспомогательный сервис для подсчета лимитов.
Алгоритм работы
- Создание лимита. Необходимо указать наименование лимита и опционально можно указать контекст (провайдер, терминал и т.п.). Если лимит с таким именем уже есть будет выброшена ошибка DuplicateLimitName
- Холдирование. Операция заморозки определенного лимита до финализации. Возвращает значения лимитов на момент холдирования. (если что-то пришло чуть позже на долю секунды, то не будет участвовать в подсчете даже если запись в БД уже есть). Могут быть следующие ошибки:
- LimitNotFound - данная ошибка будет даже если какого-то одного лимита из списка переданных нет в БД
- DuplicateOperation - данная ошибка будет передана если для связки LimitName+OperationId в БД уже имеется запись в значении HOLD
- OperationAlreadyInFinalState - данная ошибка будет передана если для связки LimitName+OperationId в БД уже имеется запись в значении COMMIT/ROLLBACK
- LimitsValuesReadingException - данная ошибка будет передана если при подсчете лимитов произошла какая-то ошибка (это значит, что холдирование уже было выполнено и нужно перезапросить значение лимитов для данной операции; c установленным флагом skipExistedHoldOps можно запустить повторно операцию холдирования, а найденные в БД строки по ключу limitId+operationId будут проигнорированы)
- Финализация операции (COMMIT/ROLLBACK). Применение или отмена внесенного значения. Могут быть следующие ошибки:
- LimitNotFound - данная ошибка будет даже если какого-то одного лимита из списка переданных нет в БД
- OperationNotFound - данная ошибка будет передана если для связки LimitName+OperationId в БД отсутствует запись в значении HOLD
- Получение значений по лимитам. Может быть получено как для определенной операции, так и последнее актуальное значение. Могут быть следующие ошибки:
- LimitNotFound - если переданный лимит не найден
- LimitsValuesReadingException - данная ошибка будет передана если при подсчете лимитов произошла какая-то ошибка