TruncMinute Celery 任务结果

TruncMinute Celery TaskResult

我正在尝试显示有关 "django-celery-results" 的统计信息 我需要一个用于 chartjs 的列表。

last_records = TaskResult.objects.filter(task_name='scraper.tasks.send_game', date_created__day=20).order_by("-date_created")[:100]
queryset = last_records.annotate(date=TruncMinute('date_created')).values("date_created").annotate(created_count=Count('id'))

我进行了此查询,但未返回正确的响应。有很多记录,所以我将其限制为最后 100 条记录。 为了正确使用 chartjs,我需要一个带有小时的日期列表以及其中有多少条记录。 我需要这样的东西:

[{'date_created': '2021-02-20 10:49'), 'count': 2}, ...]

用这个解决了:

five_minutes_ago = datetime.datetime.now() + datetime.timedelta(minutes=-120)

last_records = TaskResult.objects.filter(
            task_name='scraper.tasks.send_game', date_done__gte=five_minutes_ago
            ).annotate(date=TruncMinute('date_done')).values("date").annotate(
                amount=Count('id')
            ).order_by("-date")