Esempio n. 1
0
    def __call__(self):
        """
        Return a response with a 200 or 503 status, including
        a JSON body listing the status and timing information for
        most outbound connections.
        """
        services = {
            'database': check_database,
            'geoip': check_geoip,
            'redis': check_redis,
        }
        failed = False
        result = {}
        for name, check in services.items():
            try:
                service_result = check(self.request)
            except Exception:  # pragma: no cover
                result[name] = {'up': None, 'time': -1}
                failed = True
            else:
                result[name] = service_result
                if not service_result['up']:
                    failed = True

        if failed:
            response = HTTPServiceUnavailable()
            response.content_type = 'application/json'
            response.json = result
            return response

        return result
Esempio n. 2
0
    def __call__(self):
        services = {
            'database': check_database,
            'geoip': check_geoip,
            'redis': check_redis,
            'stats': check_stats,
        }
        failed = False
        result = {}
        for name, check in services.items():
            try:
                service_result = check(self.request)
            except Exception:  # pragma: no cover
                result[name] = {'up': None, 'time': -1}
                failed = True
            else:
                result[name] = service_result
                if not service_result['up']:
                    failed = True

        if failed:
            response = HTTPServiceUnavailable()
            response.content_type = 'application/json'
            response.json = result
            return response

        return result
Esempio n. 3
0
def monitor_view(request):
    services = {
        'database': check_database,
        'geoip': check_geoip,
        'redis': check_redis,
        'stats': check_stats,
    }
    failed = False
    result = {}
    for name, check in services.items():
        try:
            service_result = check(request)
        except Exception:  # pragma: no cover
            result[name] = {'up': None, 'time': -1}
            failed = True
        else:
            result[name] = service_result
            if not service_result['up']:
                failed = True

    if failed:
        response = HTTPServiceUnavailable()
        response.content_type = 'application/json'
        response.json = result
        return response

    return result
Esempio n. 4
0
def heartbeat_view(request):
    success = request.registry.cache.ping(request.registry.raven)

    if not success:
        response = HTTPServiceUnavailable()
        response.content_type = 'application/json'
        response.json = {'redis': {'up': False}}
        return response

    return {'redis': {'up': True}}
Esempio n. 5
0
def heartbeat_view(request):
    raven = request.registry.raven
    kinesis_success = request.registry.kinesis.ping(raven)

    if not kinesis_success:
        response = HTTPServiceUnavailable()
        response.content_type = 'application/json'
        response.json = {
            'queue': {'up': kinesis_success},
        }
        return response

    return {'queue': {'up': True}}
Esempio n. 6
0
def heartbeat_view(request):
    raven = request.registry.raven
    kinesis_success = request.registry.kinesis.ping(raven)

    if not kinesis_success:
        response = HTTPServiceUnavailable()
        response.content_type = 'application/json'
        response.json = {
            'queue': {
                'up': kinesis_success
            },
        }
        return response

    return {'queue': {'up': True}}