def __init__(self, workerData): self.workerData = workerData self.formattedStartDate = prettyPrintTime(workerData.startedDate) if workerData.finishedDate != None: self.formattedFinishDate = prettyPrintTime(workerData.finishedDate) else: self.runTime = nowInSeconds() - workerData.startedDate
def __init__(self,fibData): self.fibData = fibData self.formattedStartDate = prettyPrintTime(fibData.startedDate) if fibData.finishedDate != None: self.formattedFinishDate = prettyPrintTime(int(fibData.finishedDate)) else: self.formattedFinishDate = 'in progress'
def __init__(self, fibData): self.fibData = fibData self.formattedStartDate = prettyPrintTime(fibData.startedDate) if fibData.finishedDate != None: self.formattedFinishDate = prettyPrintTime( int(fibData.finishedDate)) else: self.formattedFinishDate = 'in progress'
def processMessage(message): ''' this is the handler function passed to getAndProcessMessages ''' dataMap = {} dataMap['worker_id'] = workerId dataMap['request_id'] = message.requestId dataMap['fib_id'] = message.messageKey dataMap['fib_value'] = -1 dataMap['started_date'] = message.startedDate workerData = WorkerData(body=dataMap) log.debug( "worker %s starting Fibonnaci on %d at %s" % (workerId, workerData.fibId, prettyPrintTime(nowInSeconds()))) addedWorkerData = workerDataDB.getWorkerData( requestId=workerData.requestId) if addedWorkerData != None: # if this is already in progress with another worker if addedWorkerData.workerId == workerId: log.error( "expecting that this data was being worked on by a different worker, not %s" % workerId) workerData.retryCount = addedWorkerData.retryCount + 1 workerDataDB.updateWorkerData(workerData) else: addedWorkerData = workerDataDB.addWorkerData(workerData) log.debug("starting fib(%d)" % workerData.fibId) fibValue = F(message.messageKey) addedWorkerData.fibValue = fibValue log.debug("completed fib(%d), value = %d" % (workerData.fibId, fibValue)) addedWorkerData.finishedDate = nowInSeconds() workerDataDB.updateWorkerData(addedWorkerData) log.debug( "worker %s finished Fibonnaci on %d, calculated value = %d, at %s" % (workerId, addedWorkerData.fibId, addedWorkerData.fibValue, prettyPrintTime(addedWorkerData.finishedDate))) # now send result back for result processing. resultsMessageQueue.sendMessage( WorkResultMessage(requestId=addedWorkerData.requestId, messageKey=addedWorkerData.fibId, messageValue=addedWorkerData.fibValue, startedDate=addedWorkerData.startedDate, finishedDate=addedWorkerData.finishedDate))
def __init__(self, fibData): self.fibData = fibData self.formattedStartDate = prettyPrintTime(fibData.startedDate) if fibData.finishedDate != None: self.formattedFinishDate = prettyPrintTime(fibData.finishedDate) self.runTime = nowInSeconds() - fibData.startedDate
def processMessage(message): ''' this is the handler function passed to getAndProcessMessages ''' dataMap = {} dataMap['worker_id'] = workerId dataMap['request_id'] = message.requestId dataMap['fib_id'] = message.messageKey dataMap['fib_value'] = -1 dataMap['started_date'] = message.startedDate workerData = WorkerData(body=dataMap) log.debug("worker %s starting Fibonnaci on %d at %s"%(workerId,workerData.fibId,prettyPrintTime(nowInSeconds())) ) addedWorkerData = workerDataDB.getWorkerData(requestId = workerData.requestId) if addedWorkerData != None: # if this is already in progress with another worker if addedWorkerData.workerId == workerId: log.error("expecting that this data was being worked on by a different worker, not %s"%workerId) workerData.retryCount = addedWorkerData.retryCount + 1 workerDataDB.updateWorkerData(workerData) else: addedWorkerData = workerDataDB.addWorkerData(workerData) log.debug("starting fib(%d)"%workerData.fibId) fibValue = F(message.messageKey) addedWorkerData.fibValue = fibValue log.debug("completed fib(%d), value = %d"%(workerData.fibId,fibValue)) addedWorkerData.finishedDate = nowInSeconds() workerDataDB.updateWorkerData(addedWorkerData) log.debug("worker %s finished Fibonnaci on %d, calculated value = %d, at %s"%(workerId,addedWorkerData.fibId,addedWorkerData.fibValue,prettyPrintTime(addedWorkerData.finishedDate)) ) # now send result back for result processing. resultsMessageQueue.sendMessage(WorkResultMessage(requestId = addedWorkerData.requestId, messageKey = addedWorkerData.fibId, messageValue = addedWorkerData.fibValue,startedDate = addedWorkerData.startedDate,finishedDate = addedWorkerData.finishedDate))