payload_queue.put(None) for visitor in thread_pool: visitor.join() except KeyboardInterrupt: Console.say("Waiting for threads to stop...") Visitor.kill() for visitor in thread_pool: visitor.join() if args.do_resumer: resumer.set_line(payload_queue.get().get_number()) with open( "resume_file_" + time.strftime("%d_%m_%y_%H_%M", time.localtime()), "wb") as f: pickle.dump(resumer, f) except Exception as e: import traceback as tb Console.say(tb.print_tb(sys.exc_info()[2])) finally: # Dump results to database manager.save() Console.end() sys.exit()