From dc02594da813f9b263d37bb45b7eaac7c7755c43 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Fri, 10 Jun 2022 16:31:08 +0200 Subject: [PATCH] feat(api): optimised weekly report --- api/chalicelib/core/weekly_report.py | 10 +++++----- ee/api/chalicelib/core/weekly_report.py | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/api/chalicelib/core/weekly_report.py b/api/chalicelib/core/weekly_report.py index 88e785b94..952bf584b 100644 --- a/api/chalicelib/core/weekly_report.py +++ b/api/chalicelib/core/weekly_report.py @@ -66,7 +66,7 @@ def cron(): FROM events_common.issues INNER JOIN public.sessions USING (session_id) WHERE sessions.project_id = projects.project_id - AND issues.timestamp >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '1 week') * 1000)::BIGINT + AND issues.timestamp >= %(1_week_ago)s AND issues.timestamp < %(tomorrow)s ) AS week_0_issues ON (TRUE) LEFT JOIN LATERAL ( @@ -74,16 +74,16 @@ def cron(): FROM events_common.issues INNER JOIN public.sessions USING (session_id) WHERE sessions.project_id = projects.project_id - AND issues.timestamp <= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '1 week') * 1000)::BIGINT - AND issues.timestamp >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '2 week') * 1000)::BIGINT + AND issues.timestamp <= %(1_week_ago)s + AND issues.timestamp >= %(2_week_ago)s ) AS week_1_issues ON (TRUE) LEFT JOIN LATERAL ( SELECT COUNT(1) AS count FROM events_common.issues INNER JOIN public.sessions USING (session_id) WHERE sessions.project_id = projects.project_id - AND issues.timestamp <= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '1 week') * 1000)::BIGINT - AND issues.timestamp >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '5 week') * 1000)::BIGINT + AND issues.timestamp <= %(1_week_ago)s + AND issues.timestamp >= %(5_week_ago)s ) AS month_1_issues ON (TRUE);"""), params) projects_data = cur.fetchall() emails_to_send = [] diff --git a/ee/api/chalicelib/core/weekly_report.py b/ee/api/chalicelib/core/weekly_report.py index e652010d4..90256d795 100644 --- a/ee/api/chalicelib/core/weekly_report.py +++ b/ee/api/chalicelib/core/weekly_report.py @@ -67,7 +67,7 @@ def cron(): FROM events_common.issues INNER JOIN public.sessions USING (session_id) WHERE sessions.project_id = projects.project_id - AND issues.timestamp >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '1 week') * 1000)::BIGINT + AND issues.timestamp >= %(1_week_ago)s AND issues.timestamp < %(tomorrow)s ) AS week_0_issues ON (TRUE) LEFT JOIN LATERAL ( @@ -75,16 +75,16 @@ def cron(): FROM events_common.issues INNER JOIN public.sessions USING (session_id) WHERE sessions.project_id = projects.project_id - AND issues.timestamp <= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '1 week') * 1000)::BIGINT - AND issues.timestamp >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '2 week') * 1000)::BIGINT + AND issues.timestamp <= %(1_week_ago)s + AND issues.timestamp >= %(2_week_ago)s ) AS week_1_issues ON (TRUE) LEFT JOIN LATERAL ( SELECT COUNT(1) AS count FROM events_common.issues INNER JOIN public.sessions USING (session_id) WHERE sessions.project_id = projects.project_id - AND issues.timestamp <= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '1 week') * 1000)::BIGINT - AND issues.timestamp >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '5 week') * 1000)::BIGINT + AND issues.timestamp <= %(1_week_ago)s + AND issues.timestamp >= %(5_week_ago)s ) AS month_1_issues ON (TRUE);"""), params) projects_data = cur.fetchall() emails_to_send = []