Asyncio Semaphore для ограничения количества асинхронных задач Python

Поделиться
HTML-код
  • Опубликовано: 14 ноя 2024

Комментарии • 10

  • @makspuzankov0057
    @makspuzankov0057 9 месяцев назад +2

    Здраствуйте! очень все подробно рассказано, спасибо! а что у вас за клавиатура?

  • @bleafscode
    @bleafscode Год назад

    О черт, как же я рад что нашел это видео! Все что так долго искал!

  • @h3ckphy246
    @h3ckphy246 2 года назад

    круто

  • @АлексейСергиевский-в6й

    Есть критика. Попробуй async with semafor: следующая строка запуск всей очереди через газер.. А счётчики можешь выпилить они не потребуются

    • @luchanos
      @luchanos  3 года назад

      спасибо! когда буду переснимать видео - обязательно воспользуюсь)

    • @luchanos
      @luchanos  3 года назад

      Не будьте так строги) сути это не меняет ;) луп никуда не делся

  • @usernoname-wv6of
    @usernoname-wv6of Год назад

    Получается, что семафора просто ограничивает количество выходящих тасок из событийного цикла?
    Я правильно понимаю? Псевдоком:
    limit - допустимое количество запущенных задач
    n = 0 - счетчик задач
    deque = [task1, task2, task3]
    exec_deque = []
    while n < limit:
    n += 1
    exec_deque.append(deque.popleft()) - собирает задачи из очереди пока не достигнет limit
    ....
    '''Далее выполняет задачи из exec_deque и реализация продолжения цикла для выполнения оставшихся задач'''

  • @h3ckphy246
    @h3ckphy246 2 года назад

    Правильно ли я понимаю, если установлен семафор со значением 10 и мы делаем 1000 запросов, то "одновременно" запустятся только 10 запросов, но как только один из них отработает (получит ответ), на его месте запустится другой запрос и так пока все 1000 не выполнятся?