pinkmine/README.md
2022-06-17 10:42:16 +07:00

19 lines
No EOL
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Eltex Redmine Framework
Проект для автоматизации работы с Redmine
## Проблема
Для реализации групп задач нужно регулярное обращение к Redmine API:
1. Групповая загрузка данных по задачам
2. Обработка изменений в задачах в режиме реального времени
Оба сценария могут приводить к перегрузке основного Redmine и временной недоступности его функций для всей компании.
Решить проблему можно с помощью кеширования данных, обёрткой над api к кешу.
## Решения
* libs/event-emitter (redmine-issue-event-emitter) -- подписывается на обновления задач (issue) через email или rss, при получении новых писем выполняется обращение к основному redmine api, полученные данные становятся доступны внутри фреймворка по подписке с помощью RxJS, так же возможна рассылка данных через webhook (http post) и через websocket (socket.io v2).
* libs/redmine-issue-cache-writer -- сохраняет данные в couchdb, сравнивает прошлую запись с новой версией, рассчитывает diff журнала изменений