Skip to content

Latest commit

 

History

History
24 lines (20 loc) · 1.84 KB

README.MD

File metadata and controls

24 lines (20 loc) · 1.84 KB

Тестовое задание

Требования

Необходимо создать проект, состоящий из двух отдельных пакетов. Каждый пакет представляет собой микросервис, который логирует работу в консоль. Для создания сервисов требуется использовать язык Typescript + NestJS + Node.js

Сервис 1 (worker):

  • Написан с использованием NestJS
  • Транспорт по TCP
  • Имеет 2 метода:
    • DoHeavyJob Принимает на вход в качестве аргумента { count: number }, возвращает стрим из count сообщений. Каждое сообщение это произвольное число
    • DoLightJob Принимает на вход в качестве аргумента { data: number }, возвращает его же, возведённое в квадрат Сервис 2 (bff):
  • Написан с использование NestJS
  • Общается с сервисом worker по TCP
  • Предоставляет GraphQL интерфейс для внешнего пользователя
  • Имеет 1 метод:
    • DoJob Принимает на вход в качестве аргумента { count: number, type: 'heavy' } | { data: number, type: 'light' }. В зависимости от type вызывает либо DoHeavyJob либо DoLightJob метод сервиса worker. В обоих случаях ждёт, когда получит все результаты выполнения метода. Возвращает массив результатов (для light - это массив из 1 элемента, для heavy это массив из count элементов).