def full_complete(self): @transaction.atomic def _meta_full_complete(): summary_o = CrawlerModel.crawler_object(CRAWL_CODE_SUMMARY) summary_o.detail['full_complete'] = True summary_o.save() utils.model_request(_meta_full_complete) with _crawl_lock: self.full_complete = True
def increment_complete(self): @transaction.atomic def _meta_increment_complete(): summary_o = CrawlerModel.crawler_object(CRAWL_CODE_SUMMARY) summary_o.detail['last_increment_time'] = self.increment_time summary_o.detail['increment_time'] = None summary_o.save() utils.model_request(_meta_increment_complete) with _crawl_lock: self.last_increment_time = self.increment_time self.increment_time = None
def increment_start(self): @transaction.atomic def _meta_increment_start(): summary_o = CrawlerModel.crawler_object(CRAWL_CODE_SUMMARY) summary_o.detail['increment_time'] = start_time summary_o.save() for code in codes: stock_o = CrawlerModel.crawler_object(code=code) stock_o.detail['refresh_time'] = start_time stock_o.save() start_time = utils.current_datetime() codes = download.get_changed_stock_list() utils.model_request(_meta_increment_start) with _crawl_lock: self.increment_time = start_time
def meta_stock_download_successful(code, download_time): @transaction.atomic def _download(): stock_o = CrawlerModel.objects.get(code=code) stock_o.detail['download_time'] = download_time stock_o.save() return utils.model_request(_download)
def meta_get_all_stock_objects(): @transaction.atomic def _meta_get_all_objects(): return CrawlerModel.crawler_objects_all() return [ stock_o for stock_o in utils.model_request(_meta_get_all_objects()) if stock_o.code != CRAWL_CODE_SUMMARY ]
def full_start(self): @transaction.atomic def _meta_start_full(): detail = { 'full_time': start_time, 'full_complete': False, 'last_increment_time': None, 'increment_time': None } summary_o = CrawlerModel(code=CRAWL_CODE_SUMMARY, detail=detail) summary_o.save() for code in codes: CrawlerModel(code, {}).save() start_time = utils.current_datetime() codes = download.get_stock_list(force=True) utils.model_request(_meta_start_full) with _crawl_lock: self.full_time = start_time
def meta_get_summary_object(): @transaction.atomic def _meta_get_summary_object(): return CrawlerModel.crawler_object(CRAWL_CODE_SUMMARY) return utils.model_request(_meta_get_summary_object)