Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Middle — Senior
5
Запрашивание миллиона адресов
Условие задачи
- Дано массив из 1 000 000 URL‑ов, каждый из которых возвращает набор
item_id. - Для каждого полученного
item_idтребуется выполнить запросы к трём отдельным сервисам:service1,service2иservice3. - Ответы от этих сервисов обрабатываются функцией
business_logic, формирующей окончательный результат. - Все полученные результаты собираются в финальный список.
from typing import List
# Примеры входных данных:
# формат: url, request_data
requests_samples = [
('http://some-service/getItems/', {'user_id': 100}),
('http://some-service/getItems/', {'user_id': 101}),
...
]
# Сервисы для опроса
service_1_url = 'http://service1/fillItems/'
service_2_url = 'http://service2/scoreItems/'
service_3_url = 'http://service3/logItems/'
# Функция для обработки ответов сервисов
def business_logic(service1_response, service2_response, service3_response):
# Эта функция не делает сетевых вызовов, только обрабатывает ответы
# Считайте, что она уже написана
return {}
# Схема работы:
# 1. Получаем item_ids с каждого запроса к 'some-service/getItems'
# 2. Для каждого item_id отправляем независимые запросы к service_1_url, service_2_url, service_3_url
# 3. Обрабатываем результаты через business_logic
# 4. Собираем все результаты в итоговый список
def gather_data(requests: List[tuple]) -> List[dict]:
# YOUR CODE HERE
pass