sbws AsyncResults have no timeout
After sbws queues an AsyncResult
, it will wait forever for the result to be ready:
https://github.com/torproject/sbws/blob/ee64d76df54ceb3a3c9e1e2a797fd70d68bb0035/sbws/core/scanner.py#L359-L364
If at least one result hangs, then sbws will hang, because AsyncResult.ready()
does not have a timeout.
Instead, sbws should call AsyncResult.wait([timeout])
on each result, after calling pool.apply_async()
on a large number of results.
See https://docs.python.org/3/library/multiprocessing.html#multiprocessing.pool.AsyncResult.wait