Запуск Scrapy Spiders в задаче сельдерея

У меня есть сайт Django, где скребок происходит, когда пользователь запрашивает его, и мой код запускает автономный скрипт Scrapy Spider в новом процессе. Естественно, это не работает с увеличением количества пользователей.

Что-то вроде этого:

class StandAloneSpider(Spider):
    #a regular spider

settings.overrides['LOG_ENABLED'] = True
#more settings can be changed...

crawler = CrawlerProcess( settings )
crawler.install()
crawler.configure()

spider = StandAloneSpider()

crawler.crawl( spider )
crawler.start()

Я решил использовать Celery и использовать рабочих для постановки запросов на сканирование.

Однако у меня возникают проблемы с реакторами Торнадо, которые не могут быть перезапущены. Первый и второй пауки работают успешно, но последующие пауки выдают ошибку ReactorNotRestartable.

Кто-нибудь может поделиться советами по запуску Spiders в рамках Celery?

Ответы на вопрос(2)

Ваш ответ на вопрос