19 lines
No EOL
1.5 KiB
Markdown
19 lines
No EOL
1.5 KiB
Markdown
# 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 журнала изменений |