Как разобрать страницу через n промежутков времени с блокировкой синтаксического анализа?

#python #python-3.x #scrapy

#python #python-3.x #scrapy

Вопрос:

Мне нужно повторно обработать страницу через некоторое время. Для этого я делаю:

 c = CallLaterOnce(spider.crawler.engine.schedule,{
                    'retryreq': retryreq,
                    'spider': spider
})
c.schedule(delay=40)
  

https://docs.scrapy.org/en/latest/_modules/scrapy/utils/reactor.html ?выделите =CallLaterOnce

Он использует reactor.callLater(delay, self) . Проблема в том, что scrapy не ожидает выполнения всех задач реактора. Таким образом, scrapy завершает работу перед добавлением синтаксического анализа страницы в очередь spider.crawler.engine.schedule . Насколько я понимаю, нужен какой-то способ «заблокировать ее», пока не будут выполнены все задачи реактора.