Files
marketlabtest/README.md
2024-05-30 19:49:06 +03:00

1.7 KiB
Raw Blame History

ТЗ

Реализовать модель обработки данных в виде пайплайна, состоящего из следующих этапов

  1. Подача на вход пакетов данных. Пакет данных = слайс случайных целых чисел из 10 элементов. Новый пакет подается каждые N мс (N задается в виде env переменной)
  2. Обработка пакетов: нахождение 3-х наибольших чисел в пакете. Вход: слайс int из 10 элементов, выход: слайс из 3-х элементов. Обработка пакетов должна производиться M воркерами (M задается в виде env переменной)
  3. Аккумулятор: суммирование чисел обработанных пакетов, полученных на предыдущем этапе, и запись в единую переменную int
  4. Публикатор: вывод на консоль текущего значения аккумулятора каждые K секунд (K задается в виде env переменной)

Пример: вход: {1, 9, 6, 4, 4, 5, 7, 8, 0, 1} обработка: {9, 7, 8} аккумулятор: 9+7+8=24 публикатор: 24

Конфигурация

Переменные среды:

  • PACKET_INPUT_INTERVAL — интервал генерации пакетов
  • OUTPUT_INTERVAL — интеревал для вывода результатов
  • WORKERS_COUNT — количество воркеров
  • PACKET_MAX_VALUES — максимальное значение чисел в пакете