Мне нужно вызвать искателя из другого файла python, для которого я использую следующий код.
def crawl_koovs():
spider = SomeSpider()
settings = get_project_settings()
crawler = Crawler(settings)
crawler.signals.connect(reactor.stop, signal=signals.spider_closed)
crawler.configure()
crawler.crawl(spider)
crawler.start()
log.start()
reactor.run()
При выполнении этого я получаю ошибку как
exceptions.ValueError: signal only works in main thread
Единственным обходным решением, которое я смог найти, является использование
reactor.run(installSignalHandlers=False)
который я не хочу использовать, поскольку я хочу вызвать этот метод несколько раз и хочу, чтобы реактор был остановлен до следующего вызова. Что я могу сделать, чтобы сделать эту работу (возможно, заставить искателя начать в том же "основном" потоке)?