pyspider @every时间设置无效
在pyspider中用@every设置时间间隔,对于有些project无效,启动一次之后一直没有重启:
@every(seconds=30)
def on_start(self):
self.crawl('http://www.i7wx.com/', callback=self.index_page)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
两种可能:
1 every 会在第一次启动的时候永久生效,后续怎么改都不会起作用,除非删除project重新开一个,或者重启pyspider(不确定会有效)
2 age 时间超过 every
Pyspider自带去重队列,问题中的写法:
self.crawl('http://www.i7wx.com/', callback=self.index_page)
,会默认该task(链接)的age=-1
,表永久去重。如果你想实现
@every
的用法,需要添加添加一个age
参数,指定task(链接)的去重有效时间,且age
参数的值要小于@every
的值。