Пример #1
0
    def add(self):

        self.myId = getUuid()
        self.startTime = get_current_time()
        self.finishTime = get_current_time()

        obj = {
            "ID": self.myId,
            "AT_AccountId": self.accountId,
            "AT_ApiId": self.apiId,
            "AT_Type": self.type,
            "AT_Name": self.name,
            "AT_State": self.state,
            "AT_User": self.user or "",
            "AT_Request": transToStr(self.request),
            "AT_Reply": transToStr(self.reply),
            "AT_StartTime": get_current_time(),
            "AT_CreateTime": get_current_time(),
        }

        if (self.state == API_STATE_FINISHED
                or self.state == API_STATE_FAILED):
            obj["AT_FinishTime"] = get_current_time()

        ret = self.db.insert(TB_APITRACE, obj)
        if ret == -1:
            WARNING("add api %s error for db operation" % self.myId)
            return DB_ERR

        return OCT_SUCCESS
Пример #2
0
def clearSession(db=None):

    if (not db):
        db = dbmysql.mysqldb()

    cond = "WHERE S_ExpireTime < %ld" % get_current_time()
    db.delete(TB_SESSION, cond=cond)
Пример #3
0
def collectMsg():
    DEBUG("### Collect msg thread start...")

    while True:

        for func in funcList:
            now = get_current_time()

            if (now - func["lastCollect"]) > func["CollectInterval"] * 1000:
                func["lastCollect"] = now
                tmp = func["func"]()

                if lock.acquire():
                    msg[func["type"]].append(tmp)

                    if (len(msg[func["type"]]) > 5):
                        msg[func["type"]] = msg[func["type"]][-5:]
                    lock.release()

        if lock.acquire():
            fd = open(MSG_FILE, "w")
            fd.write(transToStr(msg, indent=4))
            fd.close()

            lock.release()

        sleep(5)
Пример #4
0
def OCT_SYSTEM(formatStr, arg=None):
    TEMPFILE_NAME = "/tmp/OCTTEMP_FILE_%ld%s" % (get_current_time(), getUuid())

    if (arg):
        CMD = formatStr % arg
    else:
        CMD = formatStr

    CMD += " > %s" % (TEMPFILE_NAME)
    ret = os.system(CMD)

    fp = open(TEMPFILE_NAME, 'r')
    if (fp == None):
        return (ret >> 8 & 0XFF, None)

    data = fp.read()
    fp.close()
    os.remove(TEMPFILE_NAME)

    if (len(data) == 0):
        return (ret >> 8 & 0XFF, None)

    if (data[-1] == '\n'):
        data = data[:-1]  # to remove last "\n"

    if (len(data) == 0):
        data = None

    return (ret >> 8 & 0XFF, data)
Пример #5
0
    def add(self):

        robotObj = {
            "ID": getUuid(),
            "R_UId": self.uId,
            "R_AccountId": self.accountId,
            "R_Name": self.name,
            "R_CreateTime": get_current_time(),
            "R_LastSync": get_current_time(),
        }

        ret = self.db.insert(TB_ROBOT, robotObj)
        if (ret == -1):
            WARNING("add robot %s error for db operation" % self.name)
            return DB_ERR

        DEBUG(robotObj)

        return OCT_SUCCESS
Пример #6
0
	def add(self):

		userObj = {
			"ID": getUuid(),
			"Q_Robots": self.robots,
			"Q_Message": self.messageCapacity,
			"Q_Group": self.group,
			"Q_LastSync": get_current_time(),
			"Q_CreateTime": get_current_time()
		}

		ret = self.db.insert(TB_QUOTA, userObj)
		if (ret == -1):
			WARNING("add user %s error for db operation" % self.myId)
			return DB_ERR

		DEBUG(userObj)

		return OCT_SUCCESS
Пример #7
0
    def add(self):
        if not self.myId:
            self.myId = getUuid()

        dbObj = {
            "ID": self.myId,
            "A_Name": self.name,
            "A_Address": self.address,
            "A_CreateTime": get_current_time(),
            "A_LastSync": get_current_time(),
        }

        ret = self.db.insert(TB_AGENT, dbObj)
        if (ret == -1):
            WARNING("add agent %s error for db operation" % self.name)
            return DB_ERR

        DEBUG(dbObj)

        return OCT_SUCCESS
Пример #8
0
	def updateLogin(self):
		
		userObj = {
			"U_LastLogin": get_current_time(),
		}
		
		cond = "WHERE ID='%s'" % self.myId
		ret = self.db.update(TB_ACCOUNT, userObj, cond=cond)
		if (ret == -1):
			WARNING("update user %s error for db operation" % self.name)
			return DB_ERR
Пример #9
0
    def add(self):

        userObj = {
            "ID": getUuid(),
            "U_Name": self.name,
            "U_Password": getEncPass(self.password),
            "U_Email": self.email,
            "U_PhoneNumber": self.phone,
            "U_CreateTime": get_current_time(),
            "U_LastSync": get_current_time(),
        }

        ret = self.db.insert(TB_ACCOUNT, userObj)
        if (ret == -1):
            WARNING("add user %s error for db operation" % self.name)
            return DB_ERR

        DEBUG(userObj)

        return OCT_SUCCESS
Пример #10
0
    def updateLogin(self):

        robotObj = {
            "R_LastLogin": get_current_time(),
            "R_UId": self.uId,
        }

        cond = "WHERE ID='%s'" % self.myId
        ret = self.db.update(TB_ROBOT, robotObj, cond=cond)
        if (ret == -1):
            WARNING("update robot %s error for db operation" % self.name)
            return DB_ERR
Пример #11
0
    def update(self):

        obj = {
            "S_ExpireTime": get_current_time() + SESSION_EXPIRE_TIME,
        }

        cond = "WHERE ID='%s'" % self.myId
        ret = self.db.update(TB_SESSION, obj, cond=cond)
        if ret == -1:
            WARNING("update session %s error for db operation" % self.myId)
            return DB_ERR

        return 0
Пример #12
0
    def add(self):

        self.myId = getUuid()
        self.createTime = get_current_time()
        self.expireTime = get_current_time() + SESSION_EXPIRE_TIME

        obj = {
            "ID": self.myId,
            "S_UserId": self.userId,
            "S_UserName": self.username,
            "S_UserType": self.role,
            "S_Cookie": transToStr(self.cookie),
            "S_CreateTime": self.createTime,
            "S_ExpireTime": self.expireTime,
        }

        ret = self.db.insert(TB_SESSION, obj)
        if ret == -1:
            WARNING("add session %s error for db operation" % self.myId)
            return DB_ERR

        return OCT_SUCCESS
Пример #13
0
    def init(self):

        cond = "WHERE ID='%s' AND S_ExpireTime > %ld " % (self.myId,
                                                          get_current_time())

        dbObj = self.db.fetchone(TB_SESSION, cond)
        if (not dbObj):
            return -1

        self.dbObj = dbObj
        self.loadFromObj()

        return 0
Пример #14
0
    def add(self):

        self.myId = getUuid()

        obj = {
            "ID": self.myId,
            "P_Name": self.name,
            "P_Type": self.type,
            "P_TypeName": PRODUCT_TYPES[self.type],
            "P_Description": self.desc,
            "P_Info": transToStr(self.infoObj),
            "P_CreateTime": get_current_time(),
            "P_LastSync": get_current_time()
        }

        ret = self.db.insert(TB_PRODUCT, obj)
        if (ret == -1):
            WARNING("add product %s error for db operation" % self.name)
            return DB_ERR

        DEBUG(obj)

        return OCT_SUCCESS
Пример #15
0
    def add(self):
        dbObj = {
            "M_Type": self.type,
            "M_AgentId": self.agentId,
            "M_Msg": self.msg,
            "M_Time": get_current_time()
        }

        ret = self.db.insert(TB_MSG, dbObj)
        if (ret == -1):
            WARNING("add msg error for db operation")
            return DB_ERR

        return OCT_SUCCESS
Пример #16
0
	def bindUkey(self):
		
		userObj = {
			"U_Ukey": self.ukey,
			"U_LastSync": get_current_time(),
		}
		
		cond = "WHERE ID='%s'" % self.myId
		ret = self.db.update(TB_ACCOUNT, userObj, cond=cond)
		if (ret == -1):
			WARNING("update user %s error for db operation" % self.name)
			return DB_ERR
		
		return 0
Пример #17
0
    def updateState(self):

        robotObj = {
            "R_State": self.state,
            "R_LastSync": get_current_time(),
        }

        cond = "WHERE ID='%s'" % self.myId
        ret = self.db.update(TB_ROBOT, robotObj, cond=cond)
        if (ret == -1):
            WARNING("update robot %s error for db operation" % self.name)
            return DB_ERR

        return 0
Пример #18
0
    def update(self):

        userObj = {
            "U_Email": self.email,
            "U_PhoneNumber": self.phone,
            "U_LastSync": get_current_time(),
        }

        cond = "WHERE ID='%s'" % self.myId
        ret = self.db.update(TB_ACCOUNT, userObj, cond=cond)
        if (ret == -1):
            WARNING("update user %s error for db operation" % self.name)
            return DB_ERR

        return 0
Пример #19
0
    def updatePrice(self):

        userObj = {
            "P_Info": transToStr(self.infoObj),
            "P_LastSync": get_current_time(),
            "P_Description": self.desc
        }

        cond = "WHERE ID='%s'" % self.myId
        ret = self.db.update(TB_PRODUCT, userObj, cond=cond)
        if (ret == -1):
            WARNING("update user %s error for db operation" % self.name)
            return DB_ERR

        return 0
Пример #20
0
	def update(self):

		userObj = {
			"Q_Robots": self.robots,
			"Q_Message": self.messageCapacity,
			"Q_Group": self.group,
			"Q_LastSync": get_current_time(),
		}

		cond = "WHERE ID='%s'" % self.myId
		ret = self.db.update(TB_QUOTA, userObj, cond=cond)
		if (ret == -1):
			WARNING("update user %s error for db operation" % self.myId)
			return DB_ERR

		return 0
Пример #21
0
    def updateReply(self):

        obj = {
            "AT_Reply": transToStr(self.reply),
            "AT_State": API_STATE_FINISHED,
            "AT_FinishTime": get_current_time()
        }

        cond = "WHERE ID='%s'" % self.myId
        ret = self.db.update(TB_APITRACE, obj, cond=cond)
        if ret == -1:
            WARNING("update api request %s error for db operation" %
                    self.apiId)
            return DB_ERR

        return 0
Пример #22
0
	def resetPassword(self, newPassword):
		if (not newPassword):
			ERROR("new password not specified when doing password reset operation")
			return NOT_ENOUGH_PARAS
		
		userObj = {
			"U_Password": getEncPass(newPassword),
			"U_LastSync": get_current_time(),
		}
		
		cond = "WHERE ID='%s'" % self.myId
		ret = self.db.update(TB_ACCOUNT, userObj, cond=cond)
		if (ret == -1):
			WARNING("update user %s error for db operation" % self.name)
			return DB_ERR
		
		return OCT_SUCCESS
Пример #23
0
def get_sys_info():
	sysinfo = {
		"os": platform.system() + " Debian " + get_debian_version(),
		"kernel": get_kernel_info(),
		"cmdline": get_cmdline(),
		"maxOpenFiles": get_max_open_files(),
		"maxUserProcesses": get_max_processes(),
		"hostname": platform.node()
	}

	uptime = get_uptime()
	if not uptime:
		ERROR("got uptime error")
		return sysinfo

	sysinfo["upTime"] = "%d 天 %d 时 %d 分 %d 秒" % (uptime["day"],
			uptime["hour"], uptime["minute"], uptime["second"])
	sysinfo["freeRate"] = uptime["freeRate"]

	rebootTime = get_current_time() - uptime["seconds"] * 1000
	sysinfo["lastRebootTime"] = getStrTime(rebootTime)

	return sysinfo
Пример #24
0
    def add(self):

        self.myId = getUuid()

        obj = {
            "ID": self.myId,
            "QR_Name": self.name,
            "QR_Type": self.type,
            "QR_Price": self.price,
            "QR_Points": self.points,
            "QR_Info": transToStr(self.info),
            "QR_Paras": transToStr(self.paras),
            "QR_CreateTime": get_current_time(),
            "QR_Description": self.desc,
        }

        ret = self.db.insert(TB_QUERYRESULT, obj)
        if (ret == -1):
            WARNING("add user %s error for db operation" % self.name)
            return DB_ERR

        DEBUG(obj)

        return OCT_SUCCESS
Пример #25
0
def get_queryresults(db, paras):
    listObj = {
        "items": [],
        "total": 0,
    }
    type = paras["type"]

    cond = "WHERE 1=1 "
    if type:
        cond += "AND QR_Type='%s' " % type

    date = paras["date"]
    if date:
        now = get_current_time()
        cond += "AND QR_CreateTime >= %ld " % (now -
                                               date * 24 * 60 * 60 * 1000)

    keyword = paras["keyword"]
    if keyword:
        cond += "AND QR_Name LIKE '%%%s%%' " % keyword

    ret = db.select(TB_QUERYRESULT, cond=cond)
    if ret == -1:
        ERROR("get user list error")
        return (DB_ERR, None)

    for dur in db.cur:
        obj = dbmysql.row_to_dict(TB_QUERYRESULT, dur)
        item = PricingResult(db, dbObj=obj)
        item.loadFromObj()

        listObj["items"].append(item.toObj())

    listObj["total"] = len(listObj["items"])

    return (OCT_SUCCESS, listObj)
Пример #26
0
def getStrTime(milisecs=None):
    if not milisecs:
        milisecs = get_current_time()
    return time.strftime("%Y-%m-%d %H:%M:%S",
                         time.localtime(int(milisecs) / 1000))
Пример #27
0
def sendMsg():
    DEBUG("### Send msg thread start...")

    if not os.path.exists(CONFIG_FILE_PATH):
        ERROR("agent config file not exist")
        return

    obj = fileToObj(CONFIG_FILE_PATH)

    serverIp = obj.get("serverIp")
    if not serverIp:
        ERROR("can't find server ip in config file")
        return

    agentId = obj.get("agentId")
    if not agentId:
        agentId = getUuid()
        obj["agentId"] = agentId

        fd = open(CONFIG_FILE_PATH, "w")
        fd.write(transToStr(obj, indent=4))
        fd.close()

    while True:

        if lock.acquire():
            for func in funcList:
                msg_type = func["type"]

                if len(msg[msg_type]) < 1:
                    continue

                now = get_current_time()
                if (now - func["lastSend"]) > func["SendInterval"] * 1000:
                    func["lastSend"] = now

                    api = "octlink.quantum.v1.sync.APISyncMsg"
                    paras = {
                        "agentId": agentId,
                        "type": msg_type,
                        "data": transToStr(msg[msg_type][-1]),
                        "timeout": 0
                    }
                    session_uuid = "00000000000000000000000000000000"

                    (retCode, retObj) = api_call(serverIp,
                                                 "9999",
                                                 api,
                                                 paras,
                                                 session_key=session_uuid,
                                                 async=False,
                                                 https=False)
                    if (retCode):
                        ERROR("connect to server error")
                        continue

                    DEBUG("send msg OK!")

            lock.release()

        sleep(60)