Тестовое задание backend. Тестовое задание на backend программиста
Скачать 71.48 Kb.
|
Тестовое задание на backend программиста Реализовать асинхронную обработку запросов на .net core, тип приложения WebApi. 1. Метод для запроса пользовательской статистики POST /report/user_statistics. В тело запроса передаем идентификатор пользователя, период с и по. Результат выполнения метода Guid запроса. 2. Метод получения информации о запросе GET /report/info. Параметр методы Guid запроса. Ответ json в котором указан Guid запроса, процент выполнения запроса, и результат выполнения, если он есть. Приложение должно обрабатывать запрос не быстрее чем за X миллисекунд (вынести в конфигурационный файл, по умолчанию установить 60 секунд), и рассчитывать процент обработки в зависимости от пройденного времени с момента создания запроса. Если приложение перезагрузить информацию о запросе не должна быть потеряна. Например, если через 30 секунд мы запросим информацию о статусе запроса { “query” : “1a98b57d-e090-4d18-8654-678e463b73e8” “percent”: 50, “result”: null } если через 45 секунд { “query” : “1a98b57d-e090-4d18-8654-678e463b73e8” “percent”: 75, “result”: null } если через 60 секунд { “query” : “1a98b57d-e090-4d18-8654-678e463b73e8” “percent”: 100, “result”: { “user_id”: “b28d0ced-8af5-4c94-8650-c7946241fd1a”, “count_sign_in”:”12” } } Готовые процессоры асинхронных запросов не использовать. Желательно использовать ORM, структуру базы данных делать через миграции. Покрытие тестами будет большим плюсом. После реализации приложение необходимо выложить на github. |