def handle(self, *args, **options): start_period = options['period'][0] current_period = date.today().strftime("%Y%m") DataSyncTracker.update_periods(current_period, start_period) one_day_ago = timezone.now() - timedelta(days=1) trackers = DataSyncTracker.objects.filter(last_parsed__lte=one_day_ago) \ .filter(Q(status=DataSyncTrackerStatus.INIT_DOWNLOAD) | Q(status=DataSyncTrackerStatus.DOWNLOADED)) data_sets = DataSet.objects.all() for tracker in trackers: try: for data_set in data_sets: try: parser = DataSetParser(data_set, tracker.period) parser.parse() except Exception, e: print e.message tracker.last_parsed = timezone.now() tracker.status = DataSyncTrackerStatus.PARSED tracker.save() except Exception, e: print e.message
def handle(self, *args, **options): start_period = options['period'][0] current_period = date.today().strftime("%Y%m") DataSyncTracker.update_periods(current_period, start_period) one_day_ago = timezone.now() - timedelta(days=1) trackers = DataSyncTracker.objects.filter(last_downloaded__lte=one_day_ago) \ .filter(Q(status=DataSyncTrackerStatus.UNKNOWN) | Q(status=DataSyncTrackerStatus.PARSED)| Q(status=DataSyncTrackerStatus.INIT_PARSE)) data_sets = DataSet.objects.all() for tracker in trackers: for data_set in data_sets: downloader = DataSetDownloader(data_set, tracker.period, self.ROOT_ORG_UNIT, tracker.status) downloader.download() tracker.last_downloaded = timezone.now() if tracker.status is DataSyncTrackerStatus.UNKNOWN: tracker.status = DataSyncTrackerStatus.INIT_DOWNLOAD else: tracker.status = DataSyncTrackerStatus.DOWNLOADED tracker.save()