Here you are combining async IO with sync IO, try to not do this.
Download all requests to a temp file and read yield from it.
With this resolved you can remove that ugly has_rew_requests = True on every iteration.