Получается, что семафора просто ограничивает количество выходящих тасок из событийного цикла? Я правильно понимаю? Псевдоком: limit - допустимое количество запущенных задач n = 0 - счетчик задач deque = [task1, task2, task3] exec_deque = [] while n < limit: n += 1 exec_deque.append(deque.popleft()) - собирает задачи из очереди пока не достигнет limit .... '''Далее выполняет задачи из exec_deque и реализация продолжения цикла для выполнения оставшихся задач'''
Правильно ли я понимаю, если установлен семафор со значением 10 и мы делаем 1000 запросов, то "одновременно" запустятся только 10 запросов, но как только один из них отработает (получит ответ), на его месте запустится другой запрос и так пока все 1000 не выполнятся?
Здраствуйте! очень все подробно рассказано, спасибо! а что у вас за клавиатура?
О черт, как же я рад что нашел это видео! Все что так долго искал!
круто
Есть критика. Попробуй async with semafor: следующая строка запуск всей очереди через газер.. А счётчики можешь выпилить они не потребуются
спасибо! когда буду переснимать видео - обязательно воспользуюсь)
Не будьте так строги) сути это не меняет ;) луп никуда не делся
Получается, что семафора просто ограничивает количество выходящих тасок из событийного цикла?
Я правильно понимаю? Псевдоком:
limit - допустимое количество запущенных задач
n = 0 - счетчик задач
deque = [task1, task2, task3]
exec_deque = []
while n < limit:
n += 1
exec_deque.append(deque.popleft()) - собирает задачи из очереди пока не достигнет limit
....
'''Далее выполняет задачи из exec_deque и реализация продолжения цикла для выполнения оставшихся задач'''
Правильно ли я понимаю, если установлен семафор со значением 10 и мы делаем 1000 запросов, то "одновременно" запустятся только 10 запросов, но как только один из них отработает (получит ответ), на его месте запустится другой запрос и так пока все 1000 не выполнятся?
Все так