作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试了文档 http://doc.scrapy.org/en/stable/topics/practices.html 中的示例,但第二次运行时会出现错误ReactorNotRestartable。
settings = get_project_settings()
runner = CrawlerRunner(settings=settings)
@defer.inlineCallbacks
def crawl():
yield runner.crawl(LatestNewsSpider)
reactor.stop()
def run_spider():
crawl()
reactor.run()
最佳答案
在您的 Celery 设置中将 CELERYD_MAX_TASKS_PER_CHILD
设置为 1。这将在每个子进程中只运行一个任务,因此它永远不会在同一进程中多次启动 react 器。
或者,您可以在一个线程中运行 react 器并且永远不会停止它。我不知道它是否行得通。 crochet可能有用。
关于python - 碎片化 1.0 : How to run crawler in Celery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34065315/
我是一名优秀的程序员,十分优秀!