from flask import Flask import grequests import time import threading class Unbuffered(object): def __init__(self, stream): self.stream = stream def write(self, data): self.stream.write(data) self.stream.flush() def writelines(self, datas): self.stream.writelines(datas) self.stream.flush() def __getattr__(self, attr): return getattr(self.stream, attr) import sys sys.stdout = Unbuffered(sys.stdout) def myfunc(): num = 1000 url = "https://storage.nts.org.pk/upload/565510/userpic/565510_" thislist = ["https://storage.nts.org.pk/upload/565510/userpic/565510_1000.jpg"] while True: num=num+1 new_url = url+str(num)+".jpg" thislist.append(new_url) if(num==10000): break print("list completed") # start_time = time.time() urls = thislist rs = (grequests.head(u) for u in urls) x=1000 for response in grequests.map(rs): x=x+1 # print(response.status_code, response.elapsed.total_seconds()) if(response.status_code==200): print("Got it at "+str(x)) app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World' @app.route('/start') def started(): t1 = threading.Thread(target=myfunc) t1.start() return 'Started' if __name__ == '__main__': app.run()