pysipder设定了age和auto_recrawl之后的任务状态是否(会由于被重新调度而)一直为active

代码如下,我测试中是设定60s执行一次,设定了age和auto_recrawl,看上去任务是在执行,但我想询问下任务是不是会由于设定了定时任务,所以一直都是active,即便是执行成功也会立马切换成active以保证下次抓取

class Handler(BaseHandler):
    crawl_config = {
    }

    #@every(minutes=24 * 60)
    @config(age=60)
    def on_start(self):
        ......
        self.crawl('http://www.xxx.xxx.xxx', callback=self.index_page, save=save_data,age=60,auto_recrawl=True)

    @config(age=60)
    def index_page(self, response):
        .......
        self.crawl('xxxxxxx', callback=self.detail_page, save=save_data,age=60,auto_recrawl=True)
    .....

图片描述

任务的详情页面,看lastcrawltime 和 lastexecutetime 确实是发生在定时任务内
图片描述

我想问的是,这种情况是正常的吗?如果是,我能有什么方法去验证其是否正常抓取完成了呢?因为我看到的结果很有可能是库里面已经存有的结果,id是不变的话
有什么我理解错误的地方,希望指出来,谢谢了

阅读 3.2k
1 个回答

正常,看 lastcrawltime

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进