def calculate(self, logid, work): print("calculate({}, {})".format(logid, work)) if work.op == Operation.ADD: val = work.num1 + work.num2 elif work.op == Operation.SUBTRACT: val = work.num1 - work.num2 elif work.op == Operation.MULTIPLY: val = work.num1 * work.num2 elif work.op == Operation.DIVIDE: if work.num2 == 0: x = InvalidOperation() x.whatOp = work.op x.why = "Cannot divide by 0" raise x val = work.num1 / work.num2 else: x = InvalidOperation() x.whatOp = work.op x.why = "Invalid operation" raise x log = SharedStruct() log.key = logid log.value = '%d' % (val) self.log[logid] = log return val
def calculate(self, logid, work): print 'calculate(%d, %r)' % (logid, work) if work.op == Operation.ADD: val = work.num1 + work.num2 elif work.op == Operation.SUBTRACT: val = work.num1 - work.num2 elif work.op == Operation.MULTIPLY: val = work.num1 * work.num2 elif work.op == Operation.DIVIDE: if work.num2 == 0: x = InvalidOperation() x.what = work.op x.why = 'Cannot divide by 0' raise x val = work.num1 / work.num2 else: x = InvalidOperation() x.what = work.op x.why = 'Invalid operation' raise x log = SharedStruct() log.key = logid log.value = '%d' % (val) self.log[logid] = log return val
def calculate(self, logid, work): print('calculate(%d, %r)' % (logid, work)) if work.op == Operation.ADD: val = work.num1 + work.num2 elif work.op == Operation.SUBTRACT: val = work.num1 - work.num2 elif work.op == Operation.MULTIPLY: val = work.num1 * work.num2 elif work.op == Operation.DIVIDE: if work.num2 == 0: x = InvalidOperation() x.what = work.op x.why = 'Cannot divide by 0' raise x val = work.num1 / work.num2 else: x = InvalidOperation() x.what = work.op x.why = 'Invalid operation' raise x log = SharedStruct() log.key = logid log.value = '%d' % (val) self.log[logid] = log return val
def Classify(self, im): stopwatch = Stopwatch() print("c x w x h->", im.channel, im.width, im.height) print("im.data type->", type(im.data)) img = np.array(list(im.data)).astype(np.uint8).reshape( im.height, im.width, im.channel) # cv2.imwrite("recever.jpg", img) flag = 0 for y in np.arange(0, im.height): for x in np.arange(0, im.width): value = (y * im.height + x) % 255 if (img[y, x, :] == value).all(): flag = 1 if flag: print("right") else: print("error") log = SharedStruct() log.key = 0 log.value = 'err' self.log[1] = log stopwatch.stop() print("server time:", str(stopwatch)) return Classification(classes=[1, 2, 3, 4, 5], probs=[0.1, 0.2, 0.3, 0.4, 0.5])
def calculate(self, logid, work): logging.info('calculate({0}, {1})'.format(logid, work)) if work.op == Operation.ADD: val = work.num1 + work.num2 elif work.op == Operation.SUBTRACT: val = work.num1 - work.num2 elif work.op == Operation.MULTIPLY: val = work.num1 * work.num2 elif work.op == Operation.DIVIDE: if work.num2 == 0: x = InvalidOperation() x.whatOp = work.op x.why = 'Cannot divide by 0' raise x val = work.num1 / work.num2 else: x = InvalidOperation() x.whatOp = work.op x.why = 'Invalid operation' raise x log = SharedStruct(key=int(logid), value=str(val)) self.log[logid] = log return val
def calculate(self, logid, work): """By default, this method runs in the server's executor threads.""" print('calculate(%d, %r)' % (logid, work)) # Calculate the 10000000th prime number first, it takes 1 second. end = time.time() + 1 while True: now = time.time() if now >= end: break if work.op == Operation.ADD: val = work.num1 + work.num2 elif work.op == Operation.SUBTRACT: val = work.num1 - work.num2 elif work.op == Operation.MULTIPLY: val = work.num1 * work.num2 elif work.op == Operation.DIVIDE: if work.num2 == 0: x = InvalidOperation() x.what = work.op x.why = 'Cannot divide by 0' raise x val = work.num1 // work.num2 else: x = InvalidOperation() x.what = work.op x.why = 'Invalid operation' raise x log = SharedStruct() log.key = logid log.value = '%d' % (val) self.log[logid] = log return val