import httplib import time from reactor.status.models import SiteLatency def _track_site(site, response, time): sep = '::' if response.status == 200: status = 'available' else: status = 'noresponse' defaults = dict( site = site, status = response.status, message = response.reason+sep+response.msg, response_time = time, ) try: SiteLatency.objects.create(**defaults) except: print 'There was an error while trying to create sitelatency record:' raise def start_track_site(site): if site.url: try: conn = httplib.HTTPConnection(site.url) start_time = time.time() conn.request('GET', '/') end_time = time.time() total_time = start_time-end_time _track_site(site, conn.getresponse(), total_time) conn.close() except: pass