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
issue