Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过scrapyd取消作业时,Scrapy作业和selenium未关闭_Python_Selenium_Scrapy_Scrapyd - Fatal编程技术网

Python 通过scrapyd取消作业时,Scrapy作业和selenium未关闭

Python 通过scrapyd取消作业时,Scrapy作业和selenium未关闭,python,selenium,scrapy,scrapyd,Python,Selenium,Scrapy,Scrapyd,我的scrapy spider使用selenium进行爬行,并使用scrapyd在本地部署 我的痒蜘蛛: class机器人蜘蛛(scrapy.Spider): name=“bot” @类方法 来自_爬虫程序的def(cls、爬虫程序、*args、**kwargs): spider=super()。来自爬虫程序(爬虫程序,*args,**kwargs) 爬虫.信号.连接(spider.spider\u关闭,信号=信号.spider\u关闭) crawler.signals.connect(spid

我的scrapy spider使用selenium进行爬行,并使用scrapyd在本地部署

我的痒蜘蛛:

class机器人蜘蛛(scrapy.Spider):
name=“bot”
@类方法
来自_爬虫程序的def(cls、爬虫程序、*args、**kwargs):
spider=super()。来自爬虫程序(爬虫程序,*args,**kwargs)
爬虫.信号.连接(spider.spider\u关闭,信号=信号.spider\u关闭)
crawler.signals.connect(spider.spider\u打开,signal=signals.spider\u打开)
回程卡盘
def卡盘_已打开(自身、卡盘):
LOGGER.setLevel(logging.WARNING)
urliblogger.setLevel(logging.WARNING)
选项=选项()
#options.headless=True
self.driver=webdriver.Chrome(
ChromeDriverManager().install(),chrome_选项=选项
)
self.solver=TwoCaptcha(**config)
def卡盘_关闭(自身、卡盘):
如果自行驾驶:
self.driver.quit()
self.driver=无
#这里是蜘蛛代码
def start_请求(自我):
self.driver.get(url)
问题 问题是,当我使用以下命令取消运行中的作业时:

curl http://localhost:6800/cancel.json -d project=bot -d job=cc59d02407a211ebb78e005056c00008
它返回Ok,但作业仍在运行:

{"node_name": "My-Laptop", "status": "ok", "prevstate": "running"}

使用scrapyd取消作业:

  • 作业进程已终止。(使用流程id进行检查时)
  • 作业被卡在正在运行的列表中
  • selenium chrome窗口停止浏览并保持打开状态
如何将作业从运行列表移动到完成列表?或者至少将其从运行列表中删除?