예제 #1
0
파일: async.py 프로젝트: Anivarth/appier
 def calculator(self, *args, **kwargs):
     thread = threading.current_thread()
     print("executing in %s" % thread)
     print("computing...")
     yield from netius.sleep(3.0)
     print("finished computing...")
     return sum(args)
예제 #2
0
파일: async.py 프로젝트: Anivarth/appier
 def handler(self, future):
     thread = threading.current_thread()
     print("executing in %s" % thread)
     message = "hello world\n"
     timeout = yield from netius.sleep(3.0)
     message += "timeout: %.2f\n" % timeout
     result = yield from self.calculator(2, 2)
     message += "result: %d\n" % result
     future.set_result(message)
예제 #3
0
    def test_sleep(self):
        for value in netius.sleep(1.0):
            yield value
            future = value
        timeout = future.result()

        self.assertEqual(timeout, 1.0)
        self.assertEqual(isinstance(future, netius.Future), True)
        self.assertEqual(future.done(), True)
예제 #4
0
    def test_sleep(self):
        for value in netius.sleep(1.0):
            yield value
            future = value
        timeout = future.result()

        self.assertEqual(timeout, 1.0)
        self.assertEqual(isinstance(future, netius.Future), True)
        self.assertEqual(future.done(), True)
예제 #5
0
파일: async.py 프로젝트: Anivarth/appier
 def read_file(self, future, file_path, chunk = 65536, delay = 0):
     count = 0
     file = open(file_path, "rb")
     try:
         while True:
             data = file.read(chunk)
             if not data: break
             count += len(data)
             if delay: yield from netius.sleep(delay)
             yield data
     finally:
         file.close()
     future.set_result(None)
     return count
예제 #6
0
파일: sum_mix.py 프로젝트: sitedata/netius
def _compute(x, y):
    print("Compute %s + %s ..." % (x, y))
    yield from netius.sleep(1.0)
    return x + y
예제 #7
0
def compute(future, x, y):
    print("Compute %s + %s ..." % (x, y))
    for value in netius.sleep(1.0): yield value
    future.set_result(x + y)
예제 #8
0
def _compute(x, y):
    print("Compute %s + %s ..." % (x, y))
    yield from netius.sleep(1.0)
    return x + y