Задать вопрос

Как в python ограничить доступ к ресурсу из разных процессов

Добрый день.
Имеется несколько параллельно запускаемых процессов на python.
Каждый процесс подключается к удаленному API и качает данные.
Проблема в том, что у API есть ограничение 10 запросов в секунду.

Можно запускать все в одном процессе, но тогда сильно увеличится время ожидания, т.к.
запрос может занимать от 0.1 до 10 секунд.
  • Вопрос задан
  • 2562 просмотра
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@v_prom
читай ipc для python. или используй потоки, у них общие ресурсы.
Ответ написан
Комментировать
@leclecovich
Возьмите celery, настройте запуск таски по крону 1 раз в секунду. И в этой таске запускайте 10 тредов, которые обрабатывают респонсы. Помните о локах, если работаете в тредах с общим ресурсом. Запуск таски по крону гарантирует в таком случае старт задачи независимо от того, завершилась ли предыдущая такая же (в отличие от timedelta).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы