示例#1
0
文件: client.py 项目: linjinxin/paas
def buildApp(aid,appHost,language):
    "生成一个应用"
    #请求应用服务器生成应用
    
    #根据轮转算法选择服务器
    dao=db.execute("select count(*) from paas_app")
    r=objToDict(dao.first())
    dao.close()
    
    num=r['count(*)'] % len(config.REMOTE_SERVER_PHP)
    data={'language':language,'appHost':config.REMOTE_SERVER_PHP[num],'aid':str(aid)}
    result=urlPostWithToken(config.REMOTE_SERVER_PHP[num],"/servlet/buildApp",data)
    
    #在主服务器生成反向代理配置文件
    obj=json.loads(result)
    if obj['result'] == "ok":
        buildMainServerConfig(aid,appHost,obj['remoteSocket'])
        #把远程服务器地址写入数据库
        sql="update paas_app set remoteServer = '%s' ,remoteSocket = '%s' where id = %d"%(config.REMOTE_SERVER_PHP[num],obj['remoteSocket'],aid)
        dao=db.execute(sql)
        dao.close()
        
        return True
    else:
        return False
示例#2
0
def buildApp(aid, appHost, language):
    "生成一个应用"
    #请求应用服务器生成应用

    #根据轮转算法选择服务器
    dao = db.execute("select count(*) from paas_app")
    r = objToDict(dao.first())
    dao.close()

    num = r['count(*)'] % len(config.REMOTE_SERVER_PHP)
    data = {
        'language': language,
        'appHost': config.REMOTE_SERVER_PHP[num],
        'aid': str(aid)
    }
    result = urlPostWithToken(config.REMOTE_SERVER_PHP[num],
                              "/servlet/buildApp", data)

    #在主服务器生成反向代理配置文件
    obj = json.loads(result)
    if obj['result'] == "ok":
        buildMainServerConfig(aid, appHost, obj['remoteSocket'])
        #把远程服务器地址写入数据库
        sql = "update paas_app set remoteServer = '%s' ,remoteSocket = '%s' where id = %d" % (
            config.REMOTE_SERVER_PHP[num], obj['remoteSocket'], aid)
        dao = db.execute(sql)
        dao.close()

        return True
    else:
        return False
示例#3
0
文件: client.py 项目: linjinxin/paas
def developApp(aid,option):
    "部署应用,无论是不是第一次部署,主机不处理,逻辑交给应用服务器"
    #提取应用数据
    sql="select * from paas_app where id = %d limit 1"%(aid)
    dao=db.execute(sql)
    appData=objToDict(dao.first())
    dao.close()
    
    #部署过程走异步路线,所以只改变标志位
    data={'option':option,'language':appData['language'],'appHost':appData['remoteServer'],'aid':appData['id']}
    result=urlPostWithToken(appData['remoteServer'],"/servlet/developApp",data)
    
    #修改状态
    sql="update paas_app set status = 2 where id =%d"%(aid)
    dao=db.execute(sql)
    dao.close()
示例#4
0
def developApp(aid, option):
    "部署应用,无论是不是第一次部署,主机不处理,逻辑交给应用服务器"
    #提取应用数据
    sql = "select * from paas_app where id = %d limit 1" % (aid)
    dao = db.execute(sql)
    appData = objToDict(dao.first())
    dao.close()

    #部署过程走异步路线,所以只改变标志位
    data = {
        'option': option,
        'language': appData['language'],
        'appHost': appData['remoteServer'],
        'aid': appData['id']
    }
    result = urlPostWithToken(appData['remoteServer'], "/servlet/developApp",
                              data)

    #修改状态
    sql = "update paas_app set status = 2 where id =%d" % (aid)
    dao = db.execute(sql)
    dao.close()