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

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

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

Можно запускать все в одном процессе, но тогда сильно увеличится время ожидания, т.к.
запрос может занимать от 0.1 до 10 секунд.
  • Вопрос задан
  • 2558 просмотров
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Хекслет
    Python-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@v_prom
читай ipc для python. или используй потоки, у них общие ресурсы.
Ответ написан
Комментировать
@leclecovich
Возьмите celery, настройте запуск таски по крону 1 раз в секунду. И в этой таске запускайте 10 тредов, которые обрабатывают респонсы. Помните о локах, если работаете в тредах с общим ресурсом. Запуск таски по крону гарантирует в таком случае старт задачи независимо от того, завершилась ли предыдущая такая же (в отличие от timedelta).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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