Пример #1
0
    def all_queries(self):
        min_date = self.date
        max_date = next_day_of(min_date)

        return Query.objects.all_without_options().filter(
            api_data__name=self.api_name,
            start_time__gte=min_date,
            start_time__lt=max_date)
Пример #2
0
 def generate_analytics_by(self, a_date):
     from_time = datetime.datetime.strptime(a_date, "%Y-%m-%d")
     from_time.replace(hour=0, minute=0)
     to_time = from_time.replace(hour=23, minute=59)
     query = Query.objects.filter(start_time__gte=from_time, start_time__lte=to_time).first()
     if query is not None:
         self.generate_all_analytics(query.start_time, next_day_of(query.start_time))
     else:
         self.stdout.write("No hay queries para ese día.")
Пример #3
0
    def first_query_time(self):
        query_time = Query.objects.filter(api_data__name=self.api_name) \
            .order_by('start_time').first().start_time.date()
        last_row = IndicatorMetricsRow.objects.filter(
            api_name=self.api_name).last()
        if last_row is not None:
            query_time = next_day_of(last_row.date)

        return query_time
    def delete_zipped_files(self, days):
        from_time = self.time_from_first_csv_file()
        to_time = date_at_midnight(last_n_days(days))
        if from_time >= to_time:
            return

        while from_time < to_time:
            str_date = from_time.strftime('%Y-%m-%d')
            file_to_delete = self.csv_file_repository.get_by_file_name(
                str_date)
            if file_to_delete is not None:
                self.csv_file_repository.delete(file_to_delete)
            from_time = next_day_of(from_time)
Пример #5
0
 def total_queries_by_date(self, row_date):
     return Query.objects \
         .all_without_options() \
         .filter(api_data__name=self.api_name, start_time__lt=next_day_of(row_date)) \
         .count()
Пример #6
0
 def all_queries(self, query_time):
     return Query.objects.all_without_options().filter(
         api_data__name=self.api_name,
         start_time__gte=query_time,
         start_time__lt=next_day_of(query_time))
Пример #7
0
 def perform_calculate(self, query_time):
     while query_time < date.today():
         self.calculate_indicators(query_time)
         query_time = next_day_of(query_time)