Детали задачи
-
Ошибка
-
Решение: Нет решения
-
High
-
Не заполнено
-
Не заполнено
-
Не заполнено
-
Major
Описание
При разработке логики работы микросервиса ecos process не была предусмотрена отказоустойчивость работы процесса при падении микросервиса ecos notifications. Таким образом, сейчас при недоступности микросервиса ecos notifications нет возможности проходить по процессу, выполняя задачи, которые предусматривают отправку уведомлений.
Необходимо доработать логику работы микросервиса ecos process таким образом, чтобы падение микросервиса ecos notifications не останавливало процесс и работу пользователей.
AS IS:
Сейчас ecos process при выполнении задачи обращается к микросервису ecos notifications через ecos gateway. В случае недоступности ecos notifications в ecos process возвращается ошибка Message: 'App unavailable: notifications' (см. прикрепленный файл с логами ниже), процесс выполнения задачи блокируется, пользователю выводится ошибка.
TO BE:
Необходимо доработать логику выполнения задачи в ecos process. При недоступности ecos notifications задача по процессу должна выполняться без отправки уведомления, а сами неотправленные уведомления должны записываться в хранилище, к которому бы ecos notifications обратился бы после запуска (возможно создание отложенной задачи на отправку уведомлений по запуску джобы или другое решение).
Предусловия: необходимо вручную остановить микросервис нотификации
Шаги воспроизведения:
- Открыть по любому процессу задачу, по которой отправляется уведомление.
- Выполнить задачу.
ОР: Задача успешно выполняется, уведомление не отправляется, но откладывается для отправки после запуска мкс нотификации
ФР: Задача не выполняется из-за недоступности мкс нотификации, процесс блокируется, пользователю выводится ошибка