Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- from threading import Thread
- import urllib2
- from Queue import *
- import time
- import sys
- class HttpRequest(Thread):
- def __init__(self,queue,name,url):
- print ("Creation de la requete {}".format(name))
- self.queue=queue
- self.creation=time.time()
- Thread.__init__(self,name=name)
- def run(self):
- content = urllib2.urlopen(url).read()
- print("Requete {} terminee : {} secondes écoulées".format(self.getName(),(time.time()-self.creation)))
- self.queue.task_done()
- def usage():
- print("Usage : {} URL nbReqParSeconde nbSec".format(sys.argv[0]))
- sys.exit()
- def atoi(chaine):
- retour=0
- try:
- retour=int(chaine)
- except:
- usage()
- return retour
- if __name__ == '__main__':
- if(len(sys.argv)==4):
- nbReqParSeconde=atoi(sys.argv[2])
- nbSec=atoi(sys.argv[3])
- url=sys.argv[1]
- queues = list()
- cpt=0
- try:
- while(True):
- q=Queue(nbReqParSeconde)
- for i in range(0,nbReqParSeconde):
- http=HttpRequest(q,"%d"%cpt,url)
- http.start()
- q.put(http)
- cpt+=1
- queues.append(q)
- time.sleep(nbSec)
- except KeyboardInterrupt:
- print("Fermeture des queues")
- cpt=1
- for qu in queues:
- print("Fermeture de la queue %d"%cpt)
- q.join()
- cpt+=1
- else:
- usage()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement