コード例 #1
0
ファイル: admin.py プロジェクト: mumulizi/app
def add_server():
    """
    添加容器服务器
    :return:
    """
    title = request.forms.title
    server_host = request.forms.server_host
    server_port = request.forms.server_port
    status = request.forms.status
    max_container_number = request.forms.max_container_number
    max_memory = request.forms.max_memory
    sort = request.forms.sort
    create_time = datetime.datetime.now()

    dao = ContainerServerModel(server_host=server_host,
                               server_port=server_port,
                               status=status,
                               title=title,
                               max_container_number=max_container_number,
                               max_memory=max_memory,
                               sort=sort,
                               create_time=create_time)

    if not dao.save():
        return {"code": -1}

    return {"code": 0}
コード例 #2
0
ファイル: admin.py プロジェクト: mumulizi/app
def update_server():
    """
    更新容器服务器
    :return:
    """
    id = request.forms.id
    title = request.forms.title
    server_host = request.forms.server_host
    server_port = request.forms.server_port
    status = request.forms.status
    max_container_number = request.forms.max_container_number
    max_memory = request.forms.max_memory
    sort = request.forms.sort

    dao = ContainerServerModel.update(
        title=title,
        server_host=server_host,
        server_port=server_port,
        status=status,
        max_container_number=max_container_number,
        max_memory=max_memory,
        sort=sort).where(ContainerServerModel.id == id)
    if not dao.execute():
        return {"code": -1}
    return {"code": 0}
コード例 #3
0
ファイル: task_execute.py プロジェクト: Chanran/app
def get_a_api_url():
    """
    获取一个API服务器地址
    :return:
    """

    objs = ContainerServerModel.select().where(ContainerServerModel.status == 0).order_by(ContainerServerModel.sort.desc())
    d = [999999, 999999, None, None]
    for obj in objs:
        url = "http://%s:%d/container/" % (obj.server_host, obj.server_port)
        r = request_api(url+"analy", {})
        if r.status_code != 200:
            continue

        response_data_obj = json.loads(r.text)
        if response_data_obj['code'] != 0:
            continue
        if response_data_obj['result']['count'] < d[0] and response_data_obj['result']['totalMemory'] < d[1]:
            d[2] = obj
            d[0] = response_data_obj['result']['count']
            d[1] = response_data_obj['result']['totalMemory']
            d[3] = {"url": url, "server_host": obj.server_host}
    if d[2] is None:
        return None
    login_log("containerAPI", "获取到的API服务器为:%s:%d,当前容器数:%d,容器内存:%dM" %(d[2].server_host, d[2].server_port, d[0], d[1]))
    return d[3]['url'], d[3]['server_host']
コード例 #4
0
def get_a_api_url():
    """
    获取一个API服务器地址
    :return:
    """

    objs = ContainerServerModel.select().where(
        ContainerServerModel.status == 0).order_by(
            ContainerServerModel.sort.desc())
    d = [999999, 999999, None, None]
    for obj in objs:
        url = "http://%s:%d/container/" % (obj.server_host, obj.server_port)
        r = request_api(url + "analy", {})
        if r.status_code != 200:
            continue

        response_data_obj = json.loads(r.text)
        if response_data_obj['code'] != 0:
            continue
        if response_data_obj['result']['count'] < d[0] and response_data_obj[
                'result']['totalMemory'] < d[1]:
            d[2] = obj
            d[0] = response_data_obj['result']['count']
            d[1] = response_data_obj['result']['totalMemory']
            d[3] = {"url": url, "server_host": obj.server_host}
    if d[2] is None:
        return None
    login_log(
        "containerAPI", "获取到的API服务器为:%s:%d,当前容器数:%d,容器内存:%dM" %
        (d[2].server_host, d[2].server_port, d[0], d[1]))
    return d[3]['url'], d[3]['server_host']
コード例 #5
0
ファイル: admin.py プロジェクト: Chanran/app
def get_servers():
    """
    获取所有的容器服务器
    :return:
    """
    lists = ContainerServerModel.select().where(ContainerServerModel.status != 2).order_by(ContainerServerModel.sort.desc(), ContainerServerModel.id.desc())
    objs = list(map(ContainerServerModel.get_dict_from_obj, lists))

    return json.dumps(objs)
コード例 #6
0
ファイル: admin.py プロジェクト: Chanran/app
def delete_server(server_id):
    """
    删除一个服务器
    :param server_id: 服务器id
    :return:
    """

    dao = ContainerServerModel.update(status=2).where(ContainerServerModel.id == server_id)
    dao.execute()

    return redirect("/admin/server")
コード例 #7
0
ファイル: admin.py プロジェクト: mumulizi/app
def get_servers():
    """
    获取所有的容器服务器
    :return:
    """
    lists = ContainerServerModel.select().where(
        ContainerServerModel.status != 2).order_by(
            ContainerServerModel.sort.desc(), ContainerServerModel.id.desc())
    objs = list(map(ContainerServerModel.get_dict_from_obj, lists))

    return json.dumps(objs)
コード例 #8
0
ファイル: admin.py プロジェクト: Chanran/app
def add_server():
    """
    添加容器服务器
    :return:
    """
    title = request.forms.title
    server_host = request.forms.server_host
    server_port = request.forms.server_port
    status = request.forms.status
    max_container_number = request.forms.max_container_number
    max_memory = request.forms.max_memory
    sort = request.forms.sort
    create_time = datetime.datetime.now()

    dao = ContainerServerModel(server_host=server_host, server_port=server_port, status=status, title=title,
                               max_container_number=max_container_number, max_memory=max_memory, sort=sort, create_time=create_time)

    if not dao.save():
        return {"code": -1}

    return {"code": 0}
コード例 #9
0
ファイル: admin.py プロジェクト: mumulizi/app
def delete_server(server_id):
    """
    删除一个服务器
    :param server_id: 服务器id
    :return:
    """

    dao = ContainerServerModel.update(status=2).where(
        ContainerServerModel.id == server_id)
    dao.execute()

    return redirect("/admin/server")
コード例 #10
0
ファイル: admin.py プロジェクト: Chanran/app
def update_server():
    """
    更新容器服务器
    :return:
    """
    id = request.forms.id
    title = request.forms.title
    server_host = request.forms.server_host
    server_port = request.forms.server_port
    status = request.forms.status
    max_container_number = request.forms.max_container_number
    max_memory = request.forms.max_memory
    sort = request.forms.sort

    dao = ContainerServerModel.update(title=title, server_host=server_host, server_port=server_port, status=status,
                                      max_container_number=max_container_number, max_memory=max_memory, sort=sort).where(ContainerServerModel.id == id)
    if not dao.execute():
        return {"code": -1}
    return {"code": 0}