2323from __future__ import print_function , unicode_literals
2424
2525import logging
26+ from time import sleep
2627
27- from gridmap import Job , process_jobs , grid_map
28+ import gridmap
29+ from gridmap import Job , process_jobs , grid_map , HEARTBEAT_FREQUENCY
2830
2931from nose .tools import eq_
3032
3335logging .captureWarnings (True )
3436logging .basicConfig (format = ('%(asctime)s - %(name)s - %(levelname)s - ' +
3537 '%(message)s' ), level = logging .DEBUG )
38+ logger = logging .getLogger (__name__ )
39+ logger .debug ('Path to gridmap: %s' , gridmap )
40+
41+
42+ def compute_factorial_slow (n ):
43+ sleep (HEARTBEAT_FREQUENCY + 1 )
44+ ret = 1
45+ for i in range (n ):
46+ ret = ret * (i + 1 )
47+ return ret
3648
3749
3850def compute_factorial (n ):
@@ -49,6 +61,13 @@ def test_map():
4961 eq_ (expected , outputs )
5062
5163
64+ def test_map_slow ():
65+ inputs = [1 , 2 , 4 , 8 , 16 ]
66+ expected = list (map (compute_factorial_slow , inputs ))
67+ outputs = grid_map (compute_factorial_slow , inputs , quiet = False )
68+ eq_ (expected , outputs )
69+
70+
5271def make_jobs (inputvec , function ):
5372 # create empty job vector
5473 jobs = []
@@ -69,3 +88,11 @@ def test_process_jobs():
6988 function_jobs = make_jobs (inputs , compute_factorial )
7089 outputs = process_jobs (function_jobs , quiet = False )
7190 eq_ (expected , outputs )
91+
92+
93+ def test_process_jobs_slow ():
94+ inputs = [1 , 2 , 4 , 8 , 16 ]
95+ expected = list (map (compute_factorial_slow , inputs ))
96+ function_jobs = make_jobs (inputs , compute_factorial_slow )
97+ outputs = process_jobs (function_jobs , quiet = False )
98+ eq_ (expected , outputs )
0 commit comments