def sIOEnd(self, body): sendMessageBody = {"head":"IOEnd", "body":{}} self.taskMessage["info"] = body["info"] if "failTask" == body["taskName"]: self.taskMessage["status"] = "fail" else: for t in self.taskMessage["taskPipeline"]: if t["name"] != body["taskName"]: continue t["status"] = body["taskStatus"] self.taskMessage["status"] = body["taskStatus"] break self.taskMessage["timeRealtime"] = gCom.getDataTime() gCom.setTask(self.taskMessage) self.taskMessage = "" self.fInitTaskMessage() self.svZmq.zmqSendMessage(sendMessageBody) #log logName = "%s"%body["id"] logData = body logInfo = "sIOEnd" logError = body["error"] gCom.gtcLog(logName, data=logData, info=logInfo, error=logError)
def sIOHeart(self, body): sendMessageBody = {"head":"IOHeart", "body":{}} taskList = body["taskList"] if self.taskMessage != "": for t in self.taskMessage["taskPipeline"]: if "running" == t["status"]: break elif "fail" == t["status"]: sendMessageBody["body"]["taskName"] = "failTask" sendMessageBody["body"]["id"] = self.taskMessage["id"] sendMessageBody["body"]["data"] = self.taskMessage["data"] sendMessageBody["body"]["info"] = self.taskMessage["info"] sendMessageBody["body"]["status"] = self.taskMessage["status"] self.taskMessage["timeRealtime"] = gCom.getDataTime() gCom.setTask(self.taskMessage) break elif "complete" == t["status"]: continue elif "idle" == t["status"]: if t["name"] not in taskList: break sendMessageBody["body"]["taskName"] = t["name"] sendMessageBody["body"]["id"] = self.taskMessage["id"] sendMessageBody["body"]["data"] = self.taskMessage["data"] sendMessageBody["body"]["info"] = self.taskMessage["info"] sendMessageBody["body"]["status"] = self.taskMessage["status"] t["status"] = "running" self.taskMessage["timeRealtime"] = gCom.getDataTime() gCom.setTask(self.taskMessage) break else: sendMessageBody["body"]["taskName"] = "orderTask" self.svZmq.zmqSendMessage(sendMessageBody) #log if sendMessageBody["body"] != {} and sendMessageBody["body"]["taskName"] != "orderTask": logName = "%s"%sendMessageBody["body"]["id"] logData = sendMessageBody["body"] logInfo = "sIOHeart" gCom.gtcLog(logName, data=logData, info=logInfo)
def sIOOrder(self, body): sendMessageBody = {"head":"IOEnd", "body":{}} self.taskMessage = {"taskPipeline":body["taskPipeline"], "data":body["data"], "info":"", "status":"running", "id":body["id"],"timeCreate":gCom.getDataTime(), "timeRealtime":gCom.getDataTime()} gCom.setTask(self.taskMessage) self.svZmq.zmqSendMessage(sendMessageBody) #log logName = "%s"%body["id"] logData = body logInfo = "sIOOrder" gCom.gtcLog(logName, data=logData, info=logInfo)
def fInitTaskMessage(self): taskMessageTemp = gCom.getTask() if taskMessageTemp == "" and self.taskMessage == "": return if taskMessageTemp != "" and self.taskMessage == "": for t in taskMessageTemp["taskPipeline"]: if t["status"] == "fail" or t["status"] == "running": t["status"] = "fail" taskMessageTemp["info"] = 204 break elif t["status"] == "idle": t["status"] = "idle" break self.taskMessage = taskMessageTemp self.taskMessage["timeRealtime"] = gCom.getDataTime() gCom.setTask(self.taskMessage) return #TODO: under code unvalid if taskMessageTemp == "" and self.taskMessage != "": for t in self.taskMessage["taskPipeline"]: if t["status"] == "fail" or t["status"] == "running": t["status"] = "fail" break elif t["status"] == "idle": t["status"] = "running" break self.taskMessage["timeRealtime"] = gCom.getDataTime() gCom.setTask(self.taskMessage) return if taskMessageTemp["timeRealtime"] == self.taskMessage["timeRealtime"]: return if taskMessageTemp["timeRealtime"] != self.taskMessage["timeRealtime"]: for t in self.taskMessage["taskPipeline"]: if t["status"] == "fail" or t["status"] == "running": t["status"] = "fail" break elif t["status"] == "idle": t["status"] = "running" break self.taskMessage["timeRealtime"] = gCom.getDataTime() gCom.setTask(self.taskMessage) return