Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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
    ]
Exemplo n.º 6
0
    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
Exemplo n.º 7
0
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)