def as_signal(self, sender, instance, created, using, **kwargs): if created: if instance.is_error(): log.info("[UNEXPECTED] Exp: %s, rec: %s <%s>" % ( instance.expected_status, instance.returned_status, instance.test.url)) else: log.info("[EXPECTED] Received expected response (%s) <%s>" % ( instance.returned_status, instance.test.url))
def run_single_test(self, test): """Given a StatusTest object, runs the test. """ log.info('Testing URL: %s' % test.url) try: response = requests.get(test.url) except URLError, e: # This is a hard error without even an HTTP response # and therefore should always be logged. log.info('URL failed to provide a response. %s' % e) self._log(test, response=False) return
def handle(self, *args, **options): # Check the lock is free. lock = FileLock("django_scout_run_pinger") log.info("Acquiring file lock..") try: lock.acquire(LOCK_WAIT_TIMEOUT) except AlreadyLocked: log.warn("Lock already in place. Quitting.") return except LockTimeout: log.warn("Waiting for the lock to time out. Quitting.") return log.info("Lock acquired.") try: log.info("Starting the pinger..") handler = PingRunner() handler.run_tests() finally: lock.release() log.info("Released lock.")