Представь, что есть I/O bound задача, получение ответа от которой занимает продолжительное время (3-5 минут). Нужно написать HTTP API, с помощью которого можно создавать такие задачи и получать результаты их работы. Не нужно использовать сторонние сервисы (базы данных, очереди, инфраструктуру), пусть все хранится в памяти сервиса. Возьми во внимание, то что подобный сервис в дальнейшем будет активно развиваться, быстро обрастать подобной логикой для новых задач. Решениями, которые ты применишь здесь, будут пользоваться множество разработчиков в дальнейшем при расширении сервиса и написании новых подобных. В сервисе постарайся максимально использовать знакомые тебе инженерные практики, но в то же время не переусложнить итоговый результат.
📝Тестирование API📝
Cоздать новую задачу:
curl -X POST http://localhost:8080/tasks
Проверить статус задачи:
curl http://localhost:8080/tasks/АЙДИ-ЗАДАЧИ
============= 📈Возможные статусы:📈 pending - задача принята processing - в процессе выполнения completed - успешно завершена (с результатом) failed - завершена с ошибкой