commit c89bf57ff955d5ba2e5b994d5a38357843eea1e1 Author: juga0 juga@riseup.net Date: Mon Mar 4 18:46:23 2019 +0000
chg: scanner: !refactor waiting for results
Move to a function waiting for results at the end of the loop. --- sbws/core/scanner.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/sbws/core/scanner.py b/sbws/core/scanner.py index 4ad2cb5..484a440 100644 --- a/sbws/core/scanner.py +++ b/sbws/core/scanner.py @@ -483,16 +483,8 @@ def main_loop(args, conf, controller, relay_list, circuit_builder, result_dump, # sleep is non-blocking since happens in the main process. time.sleep(time_to_sleep) pending_results = [r for r in pending_results if not r.ready()] - time_waiting = 0 - while (len(pending_results) > 0 - and time_waiting <= TIMEOUT_MEASUREMENTS): - log.debug("Number of pending measurement threads %s after " - "a prioritization loop.", len(pending_results)) - time.sleep(time_to_sleep) - time_waiting += time_to_sleep - pending_results = [r for r in pending_results if not r.ready()] - if time_waiting > TIMEOUT_MEASUREMENTS: - dumpstacks() + + wait_for_results(time_to_sleep, pending_results) loop_tstop = time.time() loop_tdelta = (loop_tstop - loop_tstart) / 60 log.debug("Measured %s relays in %s minutes", num_relays, loop_tdelta) @@ -503,6 +495,19 @@ def main_loop(args, conf, controller, relay_list, circuit_builder, result_dump, stop_threads(signal.SIGTERM, None)
+def wait_for_results(time_to_sleep, pending_results): + time_waiting = 0 + while (len(pending_results) > 0 + and time_waiting <= TIMEOUT_MEASUREMENTS): + log.debug("Number of pending measurement threads %s after " + "a prioritization loop.", len(pending_results)) + time.sleep(time_to_sleep) + time_waiting += time_to_sleep + pending_results = [r for r in pending_results if not r.ready()] + if time_waiting > TIMEOUT_MEASUREMENTS: + dumpstacks() + + def run_speedtest(args, conf): """Initializes all the data and threads needed to measure the relays.
tor-commits@lists.torproject.org