蓝鲸接口分页

  • 分页器
class BkPageManage(object):
    def __init__(self, func, page=1, start=0, limit=200, no_page=False, **kwargs):
        self.func = func
        self.page = page
        self.start = start
        self.limit = limit
        self.no_page = no_page
        self.kwargs = kwargs
        self.__result = []
        self.__count = 0

    def __call__(self, *args, **kwargs):
        # 不分页
        if self.no_page:
            self.set_kwargs()
            self.__result, self.__count = self.func(**self.kwargs)
            for i in range(self.start, self.__count, self.limit):
                self.add_page()
                self.set_kwargs()
                result, count = self.func(**self.kwargs)
                self.__result.extend(result)
            return self
        # 分页
        for p in range(self.page - 1):
            self.add_page()
        self.set_kwargs()
        self.__result, self.__count = self.func(**self.kwargs)
        return self

    def set_kwargs(self):
        self.kwargs.update({
            'page': {
                'start': int(self.start),
                'limit': int(self.limit)
            }
        })

    def add_page(self):
        self.start += self.limit

    def get_result(self):
        return self.__result, self.__count
  • 定义业务接口
from blueking.component.shortcuts import get_client_by_user


class BkService(object):
    def __init__(self, username='admin'):
        self.client = get_client_by_user(username)

    def search_business(self, **kwargs):
        info = self.client.cc.search_business(kwargs)
        return info.get('data').get('info'), info.get('data').get('count')
  •  调用分页器
def search_business(request):
    bk_service = BkService(request.user.username)
    page = int(request.GET.get('page'))
    page_size = int(request.GET.get('page_size'))
    bk_page = BkPageManage(func=bk_service.search_business, page=page, limit=page_size, no_page=False)()
    result, count = bk_page.get_result()
    data = {
        'total': count,
        'data': result
    }
    return JsonResponse(data)

 

是为了解决运维场景中查询日志难的问题而推出的一款SaaS,基于业界主流的全文检索引擎,通过蓝鲸智云的专属agent进行日志采集,无需登录各台机器,集中管理所有日志。 运维(Operations & Maintenance,简称O&M)是IT行业中至关重要的角色,负责确保信息系统和服务的高效稳定运行。运维工程师的工作涵盖了系统架构搭建、维护、优化,以及故障排查与解决等多个方面。 首先,运维工作包括基础设施的部署与配置,如服务器、网络设备、存储设备等硬件资源的安装调试与监控,同时还需要安装操作系统、数据库和其他应用软件,并进行性能调优以满足业务需求。 其次,运维人员承担着日常监控与安全管理任务,他们借助各类工具持续监控系统的运行状态,及时发现并处理异常情况,预防服务中断。此外,运维还包括制定备份恢复策略,确保数据的安全性和可用性,以及实施网络安全策略,防止黑客攻击、病毒感染等安全风险。 再者,运维团队还需参与系统升级、扩容等工作,以应对业务增长带来的挑战。他们通过对资源的合理调度与规划,保证系统性能和用户体验的不断提升。 最后,运维工程师还涉及自动化运维体系的建设和完善,通过脚本编写、配置管理工具的运用,实现批量部署、自动巡检、故障自愈等功能,从而提升运维效率,减轻人工压力。 总之,运维工作的核心目标在于保障业务的连续性和稳定性,为用户提供优质、高效的服务环境,同时紧跟技术发展步伐,不断推动运维工作的智能化、自动化进程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值