Web crawler stormcrawler复制处理

Web crawler stormcrawler复制处理,web-crawler,stormcrawler,Web Crawler,Stormcrawler,我通过提供的导航过滤器插件使用stormcrawler和selenium远程驱动程序协议。如果我的导航过滤器执行了很长时间(url被正确处理并在mysql数据库中将状态更新为“已获取”),爬虫会从mysql表中拾取相同的url以再次获取。所以状态更新发生在url再次进入队列之后。我可以配置什么参数来避免这种情况?我尝试将所有组件设置为threads=1,但它仍在发生 这可能是由于Storm中的超时设置造成的。查看将其设置为300秒的位置。在发出元组后的这段时间过后,元组将失败,其URL将从正在处

我通过提供的导航过滤器插件使用stormcrawler和selenium远程驱动程序协议。如果我的导航过滤器执行了很长时间(url被正确处理并在mysql数据库中将状态更新为“已获取”),爬虫会从mysql表中拾取相同的url以再次获取。所以状态更新发生在url再次进入队列之后。我可以配置什么参数来避免这种情况?我尝试将所有组件设置为threads=1,但它仍在发生

这可能是由于Storm中的超时设置造成的。查看将其设置为300秒的位置。在发出元组后的这段时间过后,元组将失败,其URL将从正在处理的URL的喷口缓存中删除。因此,当喷口再次查询MySQL时,URL将沿拓扑向下发送。但是,元组失败并不会停止URL的处理,并且状态最终会如您所注意到的那样得到更新

一个选项是将超时值设置为足够大,以便您在导航过滤器中执行的任何操作都有时间完成,或者更改逻辑以减少所需时间