glockbender / url_checker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

url_checker

Тестовое задание для Rambler.

Описание задания:

Реализовать сервис, периодически опрашивающий определённый набор URL'ов на предмет доступности. Управление сервисом (настройка интервала опроса, списка опрашиваемых URL) и получение результатов работы должны осуществляться посредством обращения к сервису с помощью HTTP-запросов. Применение паттернов приветствуется.

Запуск

  1. Запустить docker-compose.yml для развертывания mongoDb.
  2. Далее запустить gradlew bootRun.
  3. Работать с API по http://localhost:9091

API

GET: /api Получить информацию о последней задаче
GET: /api/{id} Получить информацию о задаче по идентификатору
GET: /api/history Получить инормацию об опросе URL'ов для последней задачи
GET: /api/{id}/history Получить информацию об опросе URL'ов для задачи по идентификатору

POST: /api Создать новую задачу
При создании новой задачи, старая прекращает свою работу
{
 "interval": 10, -- интервал между запросами в секундах
 "urls": ["http://ya.ru", "http://mail.ru"] -- список URL'ов
}

PUT: /api Закрыть последнюю активную задачу

UPDATE: 25.07

1. Добавлена реализация на JAVA в отдельном модуле java-ver.
2. Исправлены ошибки в JAVA реализации.
3. Немного тестов (без интерграционных)
4. Небольшие отличия в API для JAVA. См. в контроллере

About


Languages

Language:Java 62.2%Language:Kotlin 37.8%