Clean up the remote executor stuff and create a dedicated heartbeat
[python_utils.git] / tests / parallelize_itest.py
index 9d9871053aaa927c1af5508a17db1522b0bbd65a..11c5676173ce584ae1f6a13fb3c5c1e3d8549b5b 100755 (executable)
@@ -1,13 +1,11 @@
 #!/usr/bin/env python3
 
-import random
 import sys
 
 import bootstrap
 import parallelize as p
 import decorator_utils
 import executors
-import math_utils
 import smart_future
 
 
@@ -28,12 +26,11 @@ def compute_factorial_process(n):
 
 
 @p.parallelize(method=p.Method.REMOTE)
-def list_primes(n):
-    """Calculates sum of all primes below given integer n"""
-    ret = []
+def compute_factorial_remote(n):
+    total = 1
     for x in range(2, n):
-        ret.append(math_utils.is_prime(x))
-    return ret
+        total *= x
+    return total
 
 
 @decorator_utils.timed
@@ -61,14 +58,11 @@ def test_process_parallelization() -> None:
 
 @decorator_utils.timed
 def test_remote_parallelization() -> None:
-    results = {}
+    results = []
     for _ in range(50):
-        n = random.randint(0, 100000)
-        results[n] = list_primes(n)
-    tot = 0
-    for _ in results[n]:
-        tot += _
-    print(tot)
+        results.append(compute_factorial_remote(_))
+    for result in smart_future.wait_any(results):
+        print(result)
     rexecutor = executors.DefaultExecutors().remote_pool()
     rexecutor.shutdown()