У меня есть следующий код, который запрашивает данные из API, но есть ограничение на количество запросов, которые могут быть сделаны одновременно, поэтому я добавил код паузы, когда предел достигнут:
def requests(self):
while a < self.dataneeds:
do requests...
if self.requested == 500:
self.block = 1
while self.block == 1:
time.sleep(20)
def receive(self):
if self.received == self.requested:
self.block = 0
self.requests()
Однако это не работает, поскольку функция сна блокирует функцию приема от прослушивания пересылаемых данных, и поэтому она не может снять блок.
Есть ли способ заставить запрашивающую функцию ждать, пока другие потоки продолжают работать.