Тестовое задание для Rambler.
Описание задания:
Реализовать сервис, периодически опрашивающий определённый набор URL'ов на предмет доступности. Управление сервисом (настройка интервала опроса, списка опрашиваемых URL) и получение результатов работы должны осуществляться посредством обращения к сервису с помощью HTTP-запросов. Применение паттернов приветствуется.
Запуск
- Запустить docker-compose.yml для развертывания mongoDb.
- Далее запустить gradlew bootRun.
- Работать с 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 Закрыть последнюю активную задачу
1. Добавлена реализация на JAVA в отдельном модуле java-ver.2. Исправлены ошибки в JAVA реализации.
3. Немного тестов (без интерграционных)
4. Небольшие отличия в API для JAVA. См. в контроллере