Как приостановить выполнение кода в одной функции, позволяя запускать другие части [closed]

У меня есть следующий код, который запрашивает данные из 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()


Однако это не работает, поскольку функция сна блокирует функцию приема от прослушивания пересылаемых данных, и поэтому она не может снять блок.

Есть ли способ заставить запрашивающую функцию ждать, пока другие потоки продолжают работать.

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *