Skip to content

hdkeeper/Queue-test

Repository files navigation

Тестовое задание: Круглый Квадрат

Задача

Есть очередь в Редисе (возможно, через стрим).

Несколько производителей непрерывно генерируют случайные целые числа в диапазоне и пишут их в эту очередь. Сгенерированные числа могут повторяться. Производитель не отслеживает уникальность отправляемых чисел, не имеет данных о других производителях, не хранит список сгенерированных чисел.

Потребитель вычитывает числа из очереди. Если такое число уже было получено, то оно игнорируется. Если нет, то вместе числом сохраняется дата, когда было получено число.

Когда потребитель собрал все возможные числа в диапазоне, процесс генерации и потребления чисел останавливается, результат нужно сохранить в виде JSON в файловую систему.

Конфигурируется:

  • Количество производителей
  • Диапазон случайных чисел

Пример JSON с результатами для записи в файл:

{ "timeSpent": 1000, "numbersGenerated": [{"value": 1, "date": "..."}]}

Как запустить

Устанавливаем зависимости и запускаем приложение:

npm install -g typescript ts-node
npm install
npm start

Результат будет в файле result.json.

About

Тестовое задание: Круглый Квадрат

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published