[Twisted-Python] implementing a timeout
![](https://secure.gravatar.com/avatar/e06045697a4c4db19f81525af85f82f1.jpg?s=120&d=mm&r=g)
Greetings, I'm a newcomer to twisted and am struggling a little with the learning curve. I have an idea for an app that I believe is ideally suited for twisted though I could use some help finding the right way to approach it. It performs a status check by getting a page from a web server. It calculates the time it took to download the page and also can check that the content matches a predefined string. That part of it is working fine but I'd like to take it a step further. I need a way to impose a limit on how long it waits to receive a response so that I can detect unresponsive hosts. I must say that I'm at a loss as to how to add such a timeout to my code. Any pointers or examples would be greatly appreciated. Here is a simplified version of the function that I'm working with. --------------------------------------- from twisted.internet import task, reactor from twisted.web import client import time class HTCheck: def handleResponse(self, data, start_time): response_time = time.time() - start_time if data == "It lives!\n": Status = "OK" else: Status = "Test page content mismatch" def check(self): start_time = time.time() d = client.getPage("http://localhost/test.html") d.addCallback(self.handleResponse, start_time) return d l = task.LoopingCall(HTCheck().check) l.start(10.0) reactor.run()
![](https://secure.gravatar.com/avatar/7ed9784cbb1ba1ef75454034b3a8e6a1.jpg?s=120&d=mm&r=g)
On Thu, 29 Nov 2007 18:45:27 -0500, J Davis <mrsalty0@gmail.com> wrote:
You can pass a timeout keyword argument to getPage. This will set the maximum time which is allowed to elapsed between when the TCP connection is established to the remote host and when the page is completely loaded. Jean-Paul
![](https://secure.gravatar.com/avatar/7ed9784cbb1ba1ef75454034b3a8e6a1.jpg?s=120&d=mm&r=g)
On Thu, 29 Nov 2007 18:45:27 -0500, J Davis <mrsalty0@gmail.com> wrote:
You can pass a timeout keyword argument to getPage. This will set the maximum time which is allowed to elapsed between when the TCP connection is established to the remote host and when the page is completely loaded. Jean-Paul
participants (2)
-
J Davis
-
Jean-Paul Calderone