コード例 #1
0
def restart_app(request):
    app_name = request.match_info.get('app_name')
    is_ok = App_Utils.restart_app(app_name)
    if(is_ok):
        return web.Response(status=200,body='OK'.encode('utf-8'))
    return web.Response(status=200,body='Error!'.encode('utf-8'))
    return
コード例 #2
0
def deploy_app(request):
    '''
    [POST] Method to deploy app
    Posted Data Format: {'app_name': 'xxx', 'git_source_code': '',
    'programming_base': 'php',
    'database': 'mysql', 'tools':[{'name': 'phpMyAdmin', 'version': '1.x'}, {'name': 'yy', 'version': 'zz'}]}
    :param request:
    :return:
    '''

    data = yield from request.text()
    json_data = json.loads(data)
    result = App_Utils.run_app(json_data)
    res = '{"message": "error"}'
    if(result[0]):
        currentTime = strftime("%Y-%m-%d %H:%M:%S", gmtime())
        app = model.Model.App(app_name=json_data['app_name'], docker_file=result[1],
                              git_source_code=json_data['git_source_code'], image_base=json_data['programming_base'],
              min_instances=0, max_instances=10,state='running',started_time=currentTime)
        if model.Model.insert(app):
            res = '{"id": "'+str(app.id)+'", "name": "'+str(app.app_name)+'"}'
        else:
            res = '{"error":"duplicate application name: '+json_data['app_name']+'"}'
        return web.Response(status=200,body=res.encode('utf-8'))
    return web.Response(status=200,body=res.encode('utf-8'))
コード例 #3
0
def stop_app(request):
    '''
    [DELETE]
    :param request:
    :return:
    '''
    app_name = request.match_info.get('app_name')
    is_ok = App_Utils.stop_app(app_name)
    if(is_ok):
        return web.Response(status=200,body='OK'.encode('utf-8'))
    return web.Response(status=200,body='Error!'.encode('utf-8'))