示例#1
0
 def get(self, request):
     # print request.META["HTTP_REFERER"]
     servers = get_redis_conf(name=None, user=request.user)
     data = []
     for ser in servers:
         try:
             redis_obj = RedisConf.objects.get(id=ser.redis)
         except ObjectDoesNotExist:
             continue
         status = check_redis_connect(name=redis_obj.name)
         if status is True:
             client, cur_server_index, cur_db_index = get_cl(
                 redis_name=redis_obj.name)
             info_dict = client.info()
             time_local = time.localtime(info_dict['rdb_last_save_time'])
             dt = time.strftime("%Y-%m-%d %H:%M:%S", time_local)
             info_dict['rdb_last_save_time'] = dt
             info_dict['socket'] = redis_obj.socket
             # info_dict.update(host=client.connection_pool.connection_kwargs['host'])
             info_dict.update(redis_id=ser.redis)
             data.append(info_dict)
     return render(request, 'index.html', {
         'data': data,
         'console': 'console',
     })
示例#2
0
    def get(self, request):
        client_id = request.GET.get('client_id', None)
        if client_id is not None:
            redis_obj = RedisConf.objects.get(id=client_id)
            status = check_redis_connect(name=redis_obj.name)
            if status is True:
                client, cur_server_index, cur_db_index = get_cl(
                    redis_name=redis_obj.name)
                client_list = client.client_list()
                "分页"
                limit = int(request.GET.get('limit', 30))
                page = int(request.GET.get('page', 1))
                max_num = limit * page
                min_num = max_num - limit

                data = {
                    'code': 0,
                    'msg': '',
                    'count': len(client_list),
                    'data': client_list[min_num:max_num]
                }
        else:
            data = {'code': 1, 'msg': 'Error, 请联系系统管理员!', 'data': ''}

        return JsonResponse(data, safe=False)
示例#3
0
 def get_info(self, redis_obj):
     status = check_redis_connect(name=redis_obj.name)
     if status is True:
         client = get_cl(redis_name=redis_obj.name)
         info_dict = get_redis_info(cl=client, number=1)
         time_local = time.localtime(info_dict['rdb_last_save_time'])
         dt = time.strftime("%Y-%m-%d %H:%M:%S", time_local)
         info_dict['rdb_last_save_time'] = dt
         info_dict.update(host=redis_obj.host)
         info_dict.update(redis_id=redis_obj.id)
         return info_dict
     return False
示例#4
0
def Menu(user):
    """
    菜单导航
    :return:
    """
    servers = get_redis_conf(name=None, user=user)
    data = []
    m_index = 0
    for ser in servers:
        try:
            redis_obj = RedisConf.objects.get(id=ser.redis)
        except ObjectDoesNotExist:
            continue
        data_is = {'name': redis_obj.name, 'db': ''}
        status = check_redis_connect(name=redis_obj.name)
        if isinstance(status, bool) and status:
            me = []
            for i in range(redis_obj.database):
                me.append('db{0}'.format(i))
            data_is['db'] = me
            data.append(data_is)
            m_index += 1
    return data
示例#5
0
    def get(self, request):
        servers = get_redis_conf(name=None, user=request.user)
        list = []
        for ser in servers:
            try:
                redis_obj = RedisConf.objects.get(id=ser.redis)
            except ObjectDoesNotExist:
                continue
            status = check_redis_connect(name=redis_obj.name)
            if status is not True:
                info_dict = {
                    'name': status["redis"].name,
                    'host': status["redis"].host,
                    'port': status["redis"].port,
                    'error': status["message"].message,
                    'socket': status['redis'].socket
                }
                list.append(info_dict)
        if len(list) != 0:
            data = {'code': 0, 'msg': '', 'data': list}
        else:
            data = {'code': 1, 'msg': '无连接错误', 'data': ''}

        return JsonResponse(data)
示例#6
0
    def get(self, request):
        client_id = request.GET.get('client_id', None)
        if client_id is not None:
            redis_obj = RedisConf.objects.get(id=client_id)
            status = check_redis_connect(name=redis_obj.name)
            if status is True:
                client = get_cl(redis_name=redis_obj.name)
                client_list = client.client_list()
                client_list_flat = []
                if redis_obj.type == 1:  #cluster
                    if client_list.has_key(redis_obj.host + ':' +
                                           str(redis_obj.port)):
                        for subclient in client_list.get(redis_obj.host + ':' +
                                                         str(redis_obj.port)):
                            client_list_flat.append(subclient)
                    else:
                        for clientone in client_list.values():
                            for subclient in clientone:
                                client_list_flat.append(subclient)
                else:  #single node
                    client_list_flat = client_list
                "分页"
                limit = int(request.GET.get('limit', 30))
                page = int(request.GET.get('page', 1))
                max_num = limit * page
                min_num = max_num - limit
                data = {
                    'code': 0,
                    'msg': '',
                    'count': len(client_list_flat),
                    'data': client_list_flat[min_num:max_num]
                }
        else:
            data = {'code': 1, 'msg': 'Error, 请联系系统管理员!', 'data': ''}

        return JsonResponse(data, safe=False)
示例#7
0
 def check_redis_status(self, redis_obj):
     status = check_redis_connect(name=redis_obj.name)
     if status is not True:
         data = {'name': status["redis"], 'error': status["message"]}
         return data
     return True