Advertisement
Guest User

Socket timeout with using callLater

a guest
Feb 15th, 2012
466
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.88 KB | None | 0 0
  1. def cancelPoetryReading(sockets):
  2.     for i, sock in enumerate(sockets):
  3.         print "Timeout!"
  4.         sock.connectionLost("Timeout occurred")
  5.    
  6. def poetry_main():
  7.     addresses = parse_args()
  8.  
  9.     start = datetime.datetime.now()
  10.  
  11.     try:
  12.         sockets = [PoetrySocket(i + 1, addr) for i, addr in enumerate(addresses)]
  13.         print "SOCKETS: ",sockets
  14.     except socket.error:
  15.         print 'Arr, there be a socket error. Methinks you tried to land on the wrong port.'
  16.         return
  17.  
  18.     from twisted.internet import reactor
  19.     reactor.callLater(3,cancelPoetryReading,sockets)
  20.     reactor.run()
  21.  
  22.     elapsed = datetime.datetime.now() - start
  23.  
  24.     for i, sock in enumerate(sockets):
  25.         print 'Task %d: %d bytes of poetry' % (i + 1, len(sock.poem))
  26.  
  27.     print 'Got %d poems in %s' % (len(addresses), elapsed)
  28.  
  29.  
  30. if __name__ == '__main__':
  31.     poetry_main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement