Scrapy 执行时是否有停止启动脚本的方法?

Scrapy 执行时是否有停止启动脚本的方法?,scrapy,web-crawler,scrapy-spider,scrapy-splash,splash-js-render,Scrapy,Web Crawler,Scrapy Spider,Scrapy Splash,Splash Js Render,假设您在Splash上执行一个大型脚本,它需要执行5分钟的操作。使用正确的超时参数,这是完全可能的。假设当splash开始处理脚本时,您希望提前停止脚本的执行,从而有效地终止它。有没有办法告诉Splash这样做?我没有在API中看到任何文档,我认为Splash目前不支持这样的功能,也不打算在不久的将来支持这样的功能 但是,如果我们不将讨论局限于“由Splash记录”的方法,我们确实有一些(不太糟糕的)方法: 当有一个正在进行的Splash请求需要在Splash完成执行之前停止时,您可以简单地终止

假设您在Splash上执行一个大型脚本,它需要执行5分钟的操作。使用正确的超时参数,这是完全可能的。假设当splash开始处理脚本时,您希望提前停止脚本的执行,从而有效地终止它。有没有办法告诉Splash这样做?我没有在API中看到任何文档,我认为Splash目前不支持这样的功能,也不打算在不久的将来支持这样的功能

但是,如果我们不将讨论局限于“由Splash记录”的方法,我们确实有一些(不太糟糕的)方法:


当有一个正在进行的Splash请求需要在Splash完成执行之前停止时,您可以简单地终止该特定请求的相应TCP连接。一旦TCP连接断开,Splash将几乎立即终止正在进行的脚本执行。

您是说Scrapy实例和Splash之间的TCP连接吗?你知道如何从一个基于刮擦的蜘蛛那里发出这样的终止吗?我有权访问启动Splash调用的scrapy.http.Request对象,并且我能够在Ctrl+C的signal\u shutdown处理程序中拥有线程访问权限。您是否在谈论scrapy实例和Splash之间的TCP连接:是。早些时候,我对访问Splash时使用的工具(使用Scrapy或其他工具)不太确定。我不认为Scrapy已经为删除TCP连接的任务准备好了什么,但是您可能会查看底层的Twisted connection对象,我相信其中存在解决方案。@LaserJesus我之前的评论(部分)错了。Scrapy已经在通过,或者更准确地说,在中处理这些任务。因此,您只需要在downloader插槽队列中找到特定的延迟对象,并模拟下载超时事件。